【python】基础知识点100问
以下是Python基础语法知识的30条要点整理,涵盖数据类型、函数、控制结构等核心内容,结合最新资料归纳总结:
基础30问
一、函数特性
-  
函数多返回值
支持用逗号分隔返回多个值,自动打包为元组,接收时可解包到多个变量def func(): return 1, "a" x, y = func() -  
匿名函数lambda
单行临时函数,适用于简单逻辑,如lambda x: x*2 -  
参数传递方式
包括位置参数、关键字参数、默认参数、可变长参数(*args收集为元组,**kwargs收集为字典) -  
全局变量修改
函数内修改全局变量需用global声明 -  
函数文档字符串
使用三重引号定义,可通过__doc__属性访问,IDE悬停显示说明 
二、数据类型与操作
-  
动态类型语言
变量无需声明类型,赋值时自动推断 -  
字符串格式化方法
f-string(f"{name} is {age}")、format()函数及%占位符 -  
列表推导式
快速生成列表,如[x**2 for x in range(10) if x%2==0] -  
字典推导式
{k:v for k,v in zip(keys, values)} -  
集合去重与运算
支持交集(&)、并集(|)、差集(-)、对称差集(^) -  
可变与不可变类型
不可变:数字、字符串、元组;可变:列表、字典、集合 
三、控制结构
-  
连续条件判断
if 10 <= x <= 20等效于x >=10 and x <=20 -  
三元表达式
简化条件赋值:result = a if condition else b -  
循环中的else
for/while循环正常结束(非break中断)时执行else块 -  
enumerate遍历索引
同时获取元素和下标:for idx, val in enumerate(lst) -  
zip并行迭代
多列表同步遍历:for a, b in zip(list1, list2) 
四、高级特性
-  
上下文管理器
用with open('file') as f自动处理资源释放 -  
生成器函数
使用yield暂停执行并返回值,支持惰性计算 -  
装饰器语法
通过@decorator修饰函数,扩展功能而不修改原代码 -  
类型注解
可选类型提示:def func(name: str) -> int: 
五、模块与异常
-  
模块导入方式
import module、from module import func、import module as alias -  
异常处理结构
try-except-else-finally四段式处理错误 -  
自定义异常
继承Exception类创建特定错误类型 
六、代码规范
-  
缩进规则
必须用4空格缩进定义代码块(Tab自动转空格) -  
注释写法
单行注释用#,多行用三引号,文档注释遵循PEP257 -  
空值处理
None表示空对象,pd.NA用于Pandas缺失值 -  
代码分多行
反斜杠\或括号内自然换行(如列表、元组) 
七、实用技巧
-  
列表与元组的区别
列表可变(增删元素),元组不可变但查询更快 -  
字典键的限制
键必须是不可变类型(如字符串、数字、元组) -  
海龟绘图库
图形化编程入门:import turtle绘制几何图形 
扩展建议
以上知识点覆盖Python 3.10+核心语法,建议结合具体场景练习(如用集合去重、用生成器处理大数据)。
 
进阶30问
以下是Python进阶语法知识的30条扩展要点(与前一版无重复),结合Python 3.12特性及工程实践整理:
一、高级面向对象
-  
描述符协议
通过__get__/__set__方法实现属性托管,常用于ORM框架class Temperature:def __get__(self, obj, objtype): return obj._temp * 1.8 + 32 -  
元类编程
使用__metaclass__控制类创建过程,实现接口验证或自动注册 -  
类装饰器
用装饰器修改类结构,如自动添加__repr__方法 -  
动态属性管理
__getattr__处理未定义属性访问,__setattr__拦截赋值操作 -  
多重继承的MRO
方法解析顺序遵循C3算法,可用ClassName.__mro__查看继承链 
二、内存与性能优化
-  
__slots__内存优化
限制类属性数量,减少内存占用(适用于百万级实例场景)class Point:__slots__ = ('x', 'y') -  
生成器表达式
惰性计算大数据集:(x*2 for x in range(10**6)) -  
内存视图memoryview
零拷贝处理二进制数据,提升numpy数组处理效率 -  
弱引用weakref
创建不阻止垃圾回收的对象引用,适用于缓存场景 -  
协程中的yield from
委托子生成器执行,简化嵌套协程代码结构 
三、并发与异步
-  
GIL机制影响
Global Interpreter Lock导致CPU密集型多线程无效,需用多进程规避 -  
async/await语法
协程函数声明与等待,结合asyncio实现高并发IO操作async def fetch():await asyncio.sleep(1) -  
线程池与ProcessPoolExecutor
concurrent.futures模块实现简易并行任务调度 -  
协程状态管理
通过inspect.getcoroutinestate()检测协程运行状态 -  
异步上下文管理器
用async with管理异步资源(如数据库连接池) 
四、元编程与反射
-  
函数签名检查
inspect模块解析参数:sig = inspect.signature(func) -  
动态代码执行
exec()执行字符串代码,compile()预编译代码对象 -  
猴子补丁技术
运行时修改类/模块的实现,用于紧急修复或测试mock -  
抽象基类(ABC)
abc模块定义接口规范,强制子类实现特定方法 -  
类型提示泛型
使用TypeVar和Generic创建泛型类/函数T = TypeVar('T') class 
