Python编程课((德)豪克·费尔)

书: https://pan.baidu.com/s/1o53U8DJYBlzPKes4X47C8Q?pwd=ymj8
笔记如下:

  1. “Python的核心理念是‘可读性至上’,缩进(Indentation)是语法的一部分,而非风格选择。”
  2. if __name__ == "__main__": 确保脚本作为主程序运行时才执行特定代码,避免模块导入时副作用。”
  3. “列表推导式(List Comprehension)比for循环更简洁高效,如[x**2 for x in range(10)]。”
  4. “字典的.get(key, default)方法避免KeyErrorcollections.defaultdict简化缺省值处理。”
  5. “函数是‘一等对象’(First-Class Object),可作为参数传递或嵌套定义(闭包)。”
  6. *args接收任意位置参数,**kwargs接收关键字参数,灵活处理可变输入。”
  7. “上下文管理器(with open('file.txt') as f:)自动管理资源(如文件句柄),避免泄漏。”
  8. “异常处理应具体化:捕获ValueError而非泛用Exceptionelse分支处理无异常逻辑。”
  9. __str__定义用户友好字符串表示,__repr__提供开发者调试输出。”
  10. “模块化编程:将功能拆分为utils.py等文件,通过import复用代码。”
  11. f-strings(Python 3.6+)是字符串格式化的首选,如f"Hello, {name}!"。”
  12. enumerate()同时获取迭代元素和索引,替代range(len(list))反模式。”
  13. zip()并行迭代多个序列,itertools.zip_longest处理不等长情况。”
  14. “生成器(Generator)通过yield惰性计算大数据集,节省内存。”
  15. “装饰器(@decorator)在不修改原函数代码的前提下增强功能(如日志、计时)。”
  16. pathlib.Path替代os.path,提供面向对象的路径操作(如Path('data') / 'file.txt')。”
  17. “类型注解(Type Hints)如def greet(name: str) -> str:提升代码可维护性,但运行时无强制。”
  18. dataclasses(Python 3.7+)自动生成__init____repr__,减少样板代码。”
  19. “多线程适合I/O密集型任务(threading),多进程(multiprocessing)解决CPU密集型GIL限制。”
  20. “Python哲学:‘解决问题前,先确认是否有内置库(Batteries Included)’。”

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注