-
迭代器是实现__iter__()和__next__()方法的对象,能按需返回元素并在结束后抛出StopIteration;通过定义类或使用yield关键字的生成器可创建迭代器,如CountUp类遍历1到n,或用count_up生成器简化实现,两者均支持for循环逐个取值。350 收藏 -
exec和eval在生产环境等于“开后门”,因它们直接执行字符串代码,绕过语法检查与作用域约束,极易导致远程代码执行;真实漏洞常藏于日志模板、配置解析等场景,危险性高且性能差。382 收藏 -
列表推导式立即计算并存储所有元素,内存占用大;生成器表达式惰性求值,仅保存状态,内存占用极小。二者在计算时机、迭代行为、可重复遍历性及适用场景上存在本质差异。444 收藏 -
Python的lambda是单表达式构造器,仅支持一个表达式、无语句、无函数名、无文档字符串、调试信息弱,且闭包存在晚绑定陷阱,不能替代def函数。147 收藏 -
本文介绍一种符合pytest设计哲学的解决方案:通过间接参数化(indirect=True)结合依赖fixture的参数生成fixture,实现在@pytest.mark.parametrize中安全、可维护地复用模块级fixture(如time_period)的运行时值。287 收藏 -
Tkinter开发GUI需三步:创建根窗口并调用mainloop();用grid()/pack()布局控件如Label、Entry、Button;通过command或bind绑定事件,用StringVar等变量类管理状态。296 收藏 -
Pool.map仅接受单个可迭代参数,需用functools.partial预绑定固定参数或包装函数解包元组;starmap不支持关键字参数且灵活性低;状态对象需改无状态或换ProcessPoolExecutor。308 收藏 -
本文详解如何用带Sigmoid激活的单层感知机逼近cos(x)在[0,π/4]上的二次多项式,指出原代码不收敛的根本原因(缺失学习率),并给出数学严谨的梯度更新、激活函数选择建议及更优替代方案。260 收藏 -
Python魔术方法是类中以双下划线开头和结尾的特殊方法,用于实现协议接口,使自定义类支持运算符、遍历、打印、上下文管理等内置行为;其中__new__负责对象创建,__init__负责初始化,__str__和__repr__分别面向用户和开发者,__add__等支持运算符重载,__enter__/__exit__用于资源管理,而__del__不可靠应避免用于关键清理。195 收藏 -
用pygame实现代码雨效果更流畅,核心是每列创建雨滴流、随机位置与速度、字符渐变色和alpha通道拖尾;tkinter可做简化版,适合入门。197 收藏 -
Python中with语句依赖__enter__和__exit__方法实现上下文管理,支持类定义或contextlib.contextmanager装饰器两种方式,用于自动管理资源生命周期,避免手动清理。268 收藏 -
split()是Python字符串按分隔符切分为列表的方法:不传参时按任意空白分割并忽略首尾及连续空白;传分隔符时按其切分;maxsplit参数限制切割次数;返回新列表,不修改原串。101 收藏 -
Python的round()采用“四舍六入五成双”而非四舍五入,如round(2.5)得2、round(3.5)得4;浮点精度问题会加剧误差,真·四舍五入应使用decimal模块或整数缩放法。173 收藏 -
该用类时用类,该用函数时用函数:状态需跨调用保持、多变量封装、共享状态、需多态或构造复杂时选类;无状态、单次执行、参数全临时时选函数。321 收藏 -
Pandasgroupby变慢主因是默认行为导致冗余计算与隐式拷贝;优化需优先用agg指定列和函数、提前过滤投影、转category类型、设as_index=False和observed=True,超大数据改用Dask/Polars/DuckDB。499 收藏