Python知识框架
一、Python基础语法
-
变量与数据类型
-
变量命名规则
-
基本类型:
int
,float
,str
,bool
,None
-
复合类型:
list
,tuple
,dict
,set
-
类型转换与检查(
type()
,isinstance()
)
-
-
运算符
-
算术运算符:
+
,-
,*
,/
,//
,%
,**
-
比较运算符:
==
,!=
,>
,<
,>=
,<=
-
逻辑运算符:
and
,or
,not
-
赋值运算符:
=
,+=
,-=
等
-
-
流程控制
-
条件语句:
if-elif-else
-
循环语句:
for
、while
+break
/continue
/else
-
三元表达式:
x if condition else y
-
-
输入与输出
-
print()
格式化输出(f-string,format()
) -
input()
用户输入
-
二、函数与模块
-
函数基础
-
定义与调用:
def func():
-
参数传递:位置参数、默认参数、关键字参数、可变参数(
*args
,**kwargs
) -
返回值:
return
vsNone
-
-
作用域与闭包
-
局部变量 vs 全局变量(
global
) -
闭包与嵌套函数
-
-
Lambda表达式
-
匿名函数:
lambda x: x*2
-
-
模块与包
-
导入模块:
import
,from...import
-
标准库模块:
math
,random
,datetime
,os
,sys
等 -
自定义模块与包结构
-
三、数据结构与算法
-
内置数据结构
-
列表(
list
):切片、推导式、常用方法(append
,sort
,reverse
等) -
元组(
tuple
):不可变特性 -
字典(
dict
):键值对操作、遍历 -
集合(
set
):去重、集合运算(union
,intersection
)
-
-
高级数据结构
-
collections
模块:defaultdict
,Counter
,namedtuple
-
堆(
heapq
) -
双向队列(
deque
)
-
-
算法基础
-
排序:
sorted()
,list.sort()
-
查找:线性搜索、二分搜索
-
递归与迭代
-
四、面向对象编程(OOP)
-
类与对象
-
定义类:
class MyClass:
-
实例化与构造函数:
__init__()
-
实例属性 vs 类属性
-
-
三大特性
-
封装:私有属性(
_var
,__var
) -
继承:
class Child(Parent):
、super()
-
多态:方法重写
-
-
魔术方法
-
__str__
,__repr__
-
__len__
,__getitem__
-
__add__
,__eq__
等运算符重载
-
-
高级特性
-
类装饰器:
@classmethod
,@staticmethod
-
抽象基类(
abc
模块)
-
五、文件与异常处理
-
文件操作
-
打开文件:
open()
+with
语句 -
读写模式:
r
,w
,a
,b
(二进制) -
读写方法:
read()
,write()
,readlines()
-
-
异常处理
-
try-except-else-finally
-
常见异常类型:
ValueError
,TypeError
,FileNotFoundError
-
自定义异常:继承
Exception
-
六、Python高级特性
-
生成器与迭代器
-
生成器函数:
yield
-
迭代器协议:
__iter__
,__next__
-
-
装饰器
-
函数装饰器:
@decorator
-
带参数的装饰器
-
-
上下文管理器
-
with
语句的实现(__enter__
,__exit__
)
-
-
并发与并行
-
多线程:
threading
模块 -
多进程:
multiprocessing
模块 -
异步编程:
asyncio
(协程)
-
七、常用标准库与第三方库
-
标准库
-
sys
:系统相关 -
os
:操作系统交互 -
re
:正则表达式 -
json
/pickle
:序列化 -
logging
:日志记录
-
-
第三方库
-
数据分析:
numpy
,pandas
-
可视化:
matplotlib
,seaborn
-
Web开发:
flask
,django
-
爬虫:
requests
,scrapy
-
机器学习:
scikit-learn
,tensorflow
-
八、项目开发与工具
-
开发环境
-
IDE:PyCharm、VS Code
-
Jupyter Notebook
-
-
虚拟环境
-
venv
、conda
环境管理
-
-
代码规范
-
PEP8规范
-
文档字符串(Docstring)
-
-
调试与测试
-
调试工具:
pdb
-
单元测试:
unittest
,pytest
-
-
版本控制
-
Git基础命令
-
九、实战方向建议
-
Web开发
-
框架:Django(全栈)、Flask(轻量)
-
REST API:
FastAPI
-
-
数据分析/科学计算
-
工具链:
pandas
+numpy
+matplotlib
-
-
自动化脚本
-
文件处理、爬虫、定时任务
-
-
机器学习/AI
-
库:
scikit-learn
、PyTorch
-
通过这个框架,你可以逐步深入学习每个模块,结合实际项目巩固知识。建议从基础语法和函数开始,再逐步过渡到OOP和高级特性,最后结合领域方向(如Web或数据分析)深入实践。
相关文章:
Python知识框架
一、Python基础语法 变量与数据类型 变量命名规则 基本类型:int, float, str, bool, None 复合类型:list, tuple, dict, set 类型转换与检查(type(), isinstance()) 运算符 算术运算符:, -, *, /, //, %, ** 比较…...

每日算法-250514
每日算法学习记录 (2024-05-14) 今天记录三道 LeetCode 算法题的解题思路和代码。 1. 两数之和 题目截图: 解题思路 这道题要求我们从一个整数数组中找出两个数,使它们的和等于一个给定的目标值 target,并返回这两个数的下标。 核心思路是使用 哈希…...

嵌入式培训之数据结构学习(三)gdb调试、单向链表练习、顺序表与链表对比
目录 一、gdb调试 (一)一般调试步骤与命令 (二)找段错误(无下断点的地方) (三)调试命令 二、单向链表练习 1、查找链表的中间结点(用快慢指针) 2、找出…...

虚拟机安装CentOS7网络问题
虚拟机安装CentOS7网络问题 1. 存在的问题1.1 CentOS7详细信息 2. 解决问题3.Windows下配置桥接模式 1. 存在的问题 虽然已经成功在虚拟机上安装了CentOS7,但是依旧不能上网。 1.1 CentOS7详细信息 [fanzhencentos01 ~]$ hostnamectlStatic hostname: centos01Ic…...
零基础学Java——终章:核心知识点与面试总结
Java核心知识点与面试总结 本文档旨在总结Java的核心知识点,并提供常见的面试问题与解答,帮助学习者巩固知识和准备面试。 目录 零基础学Java——大纲合集 Java基础 1. Java概述 JDK (Java Development Kit): Java开发工具包,包含Java的…...

迅为RK3588开发板安卓GPIO调用APP运行测试
将网盘上的安卓工程文件复制到 Windows 电脑上。确保工程路径中使用英文字符,不包含中文。接着,启动 Android Studio,点击“Open”按钮选择应用工程文件夹,然后点击“OK”。由于下载 Gradle 和各种 Jar 包可能需要一段时间&#x…...
在一台CentOS服务器上开启多个MySQL服务
1. 创建目录 mkdir -p /data/mysql3307/{data,tmp,logs} # 赋权 chown -R mysql:mysql /data/mysql3307 chmod -R 750 /data/mysql3307 2.修改 /etc/my.cnf ,添加[mysqld3307]实例配置组 [mysqld3307] # mysql服务的端口 port 3307 # 套接字文件存放路径 socket /…...
C#高级编程:IO和序列化
在 C# 编程中,输入输出(IO)和序列化是两个至关重要的概念,它们为数据的存储、读取以及在不同环境间的传输提供了强大的支持。无论是开发小型应用程序,还是构建复杂的企业级系统,深入理解并熟练运用 IO 和序列化技术都是必不可少的。 一、C# 中的 IO 基础 1、文件流…...

Unity 红点系统
首先明确一个,即红点系统的数据结构是一颗树,并且红点的数据结构的初始化需要放在游戏的初始化中,之后再是对应的红点UI侧的注册,对应的红点UI在销毁时需要注销对红点UI的显示回调注册,但是不销毁数据侧的红点注册 - …...

尼康VR镜头防抖模式NORMAL和ACTIVE的区别(私人笔记)
1. NORMAL 模式(常规模式) 适用场景:一般手持拍摄,比如人像、静物、风景或缓慢平移镜头(如水平追拍)等。工作特性: 补偿手抖引起的小幅度震动(比如手持时自然的不稳)&am…...
JMeter 中通过 WebSocket (WS) 协议发送和接收 Protocol Buffers (Proto) 消息
在 JMeter 中通过 WebSocket (WS) 协议发送和接收 Protocol Buffers (Proto) 消息,需要使用 JMeter WebSocket 插件,并结合 JSR223 脚本处理 Proto 的序列化和反序列化。以下是完整步骤: 1. 准备工作 1.1 安装 WebSocket 插件 下载插件&…...

从索引中排除 Elasticsearch 字段
作者:来自 Elastic Kofi Bartlett 说明如何配置 Elasticsearch 排除字段、为什么要这样做,以及应遵循的最佳实践。 更多阅读:Elasticsearch:inverted index,doc_values 及 source 想获得 Elastic 认证?了解…...
【Android】文件分块上传尝试
【Android】文件分块上传 在完成一个项目时,遇到了需要上传长视频的场景,尽管可以手动限制视频清晰度和视频的码率帧率,但仍然避免不了视频大小过大的问题,且由于服务器原因,网络不太稳定。这个时候想到了可以将文件分…...

超详细Docker教程
前言:大家在在Linux上部署mysql及其他软件时,大家想一想自己最大的感受是什么? 我相信,除了个别天赋异禀的人以外,大多数人都会有相同的感受,那就是麻烦。核心体现在三点: 命令太多了ÿ…...

Java项目拷打(外卖+点评)
一、点评星球(黑马点评) 1、项目概述 1.1、项目简介 本项目是基于Spring Boot与Redis深度整合的前后端分离的点评平台。系统以Redis为核心技术支撑,重点解决高并发场景下的缓存穿透、击穿、雪崩等问题,涵盖商户展示、优惠券秒杀…...
hadoop中了解yarm
Hadoop中的YARN(Yet Another Resource Negotiator)是一种新的Hadoop资源管理器,是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。以下是其相关介绍: 核心思想 将JobTracker的资源管理和作业调度/监控功…...
Android usb网络共享详解
Android usb网络共享详解 文章目录 Android usb网络共享详解一、前言二、USB网络共享使用的前提1、Android设备支持adb 并且打开usb开关2、原生Settings能看到USB网络共享开关3、代码中检测USB网络共享是否支持 三、Settings 中USB网络共享代码的部分代码1、Settings\res\xml\t…...
【数据库知识】Mysql进阶-高可用MHA(Master High Availability)方案
mysql高可用MHA(Master High Availability)方案 集群部署模式下的高可用方案一、高可用架构原理1. 核心组件2. 故障切换流程 二、详细部署步骤 (3节点集群)1. 环境准备2. 节点配置(以 node1 为例)3. 初始化集群4. 部署MySQL Route…...
Web 架构之会话保持深度解析
文章目录 一、引言二、会话保持的基本概念2.1 什么是会话2.2 为什么需要会话保持 三、会话保持的常见实现方式3.1 基于客户端的会话保持3.1.1 Cookie 方式3.1.2 URL 重写方式 3.2 基于服务器端的会话保持3.2.1 负载均衡器会话保持3.2.2 会话共享 四、会话保持可能遇到的问题及解…...

微信小程序仿淘宝拍照/照片点位识图、点位裁剪生图、图片裁剪组件、图片点位框选、裁剪生成图片,canvasToImg
实现效果 效果: 1.微信小程序仿淘宝拍照/照片点位识图、根据点位裁剪生图、图片可裁剪、图片高度可控 2.识别点位自动生成标准构图方案,支持手动微调实现像素级精准裁剪 3.可以根据接口识别的点位信息实现拍照/相册图片特征点自动识别并裁剪 实现步骤 …...
attention_weights = torch.ones_like(prompt_embedding[:, :, 0]):切片操作获取第二维度,第三维度
attention_weights = torch.ones_like(prompt_embedding[:, :, 0]):切片操作获取第1 维度,第二维度 attention_weights = torch.ones_like(prompt_embedding[:, :, 0]) 这行代码的作用是创建一个与 prompt_embedding[:, :, 0] 形状相同且所有元素都为 1 的张量,它用于初始化…...
Rust入门之高级Trait
Rust入门之高级Trait - 本文源码 引言 前面学习了迭代器(Iterators),Iterator源码中就用到了关联类型的功能。关联类型就属于高级trait的内容,这次我们学习一下高级trait,了解关联类型等知识。关联类型看似和泛型相…...
从 Set、Map 到 WeakSet、WeakMap 的进阶之旅
在 ES5 时代,JavaScript 的数据结构主要依赖于两种类型:数组和对象。然而,随着应用规模的增长和复杂性上升,传统的数据结构越来越难以满足开发需求。比如,需要一个能自动去重的集合、一个支持任意类型键名的字典、一个…...
TTL (Time-To-Live) 解析
文章目录 TTL (Time-To-Live) 解析:网络与Java中的应用一、TTL的定义二、TTL在网络中的应用1. **路由和数据包的生命周期**2. **DNS中的TTL**3. **防止环路** 三、TTL在Java中的应用1. **缓存管理**2. **Java中的ThreadLocal**3. **网络通信中的TTL** 四、TTL的注意…...

Qt/C++开发监控GB28181系统/录像文件查询/录像回放/倍速播放/录像文件下载
一、前言 搞定了实时预览后,另一个功能就是录像回放,录像回放和视频点播功能完全一致,唯一的区别就是发送点播的sdp信息中携带了开始时间和结束时间,因为是录像文件,所以有这个时间,而实时视频预览这个对应…...

季报中的FPGA行业:U型反转,春江水暖
上周Lattice,AMD两大厂商相继发布2025 Q1季报,尽管恢复速度各异,但同时传递出FPGA行业整体回暖的复苏信号。 5月5日,Lattice交出了“勉强及格”的答卷,报告季度营收1亿2000万,与华尔街的预期基本相符。 对于这家聚焦在中小规模器件的领先厂商而言,按照其CEO的预期,长…...

嵌入式机器学习平台Edge Impulse图像分类 – 快速入门
陈拓 2025/05/08-2025/05/11 1. 简介 官方网址 https://edgeimpulse.com/ 适用于任何边缘设备的人工智能: Gateways - 网关 Sensors & Cameras - 传感器和摄像头 Docker Containers - Docker容器 MCUs, NPUs, CPUs, GPUs 构建数据集、训练模型并优化库以…...
web 自动化之 yaml 数据/日志/截图
文章目录 一、yaml 数据获取二、日志获取三、截图 一、yaml 数据获取 需要安装 PyYAML 库 import yaml import os from TestPOM.common import dir_config as Dir import jsonpathclass Data:def __init__(self,keyNone,file_name"test_datas.yaml"):file_path os…...
ARMV8 RK3399 u-boot TPL启动流程分析 --start.S
上电后运行的第一支文件:arch/arm/cpu/armv8/start.S CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK1 #include <asm/arch/boot0.h> 跳转到 arch/arm/include/asm/arch-rockchip/boot0.h CONFIG_SPL_BUILD1 b 1f ROCKCHIP_EARLYRETURN_TO_BROMno TINY_FRAMEWORKno …...

zst-2001 上午题-历年真题 计算机网络(16个内容)
网络设备 计算机网络 - 第1题 ac 计算机网络 - 第2题 d 计算机网络 - 第3题 集线器不能隔离广播域和冲突域,所以集线器就1个广播域和冲突域 交换机就是那么的炫,可以隔离冲突域,有4给冲突域,但不能隔离广播域…...