python 66 个冷知识 0714

66个有趣的Python冷知识

  1. 生成随机浮点数

    • random.uniform(a, b) 生成区间 [a, b] 之间的随机浮点数。
  2. 反向枚举

    • 使用 reversed()enumerate() 可以反向枚举列表。
  3. 单元测试装饰器

    • unittest 提供了 @unittest.skip 装饰器用于跳过测试。
  4. 动态类型

    • Python是动态类型语言,可以在运行时改变变量类型。
  5. 类型注释

    • 使用类型注释 def func(x: int) -> str: 可以增强代码可读性和静态分析。
  6. 二进制I/O

    • 使用 'rb''wb' 模式打开文件进行二进制读写。
  7. 数据类默认值

    • 在数据类中可以为字段指定默认值 field(default=...)
  8. 优雅退出

    • 使用 atexit 模块可以注册退出时要执行的函数。
  9. 上下文管理器

    • 使用 contextlib.closing 可以为非上下文管理器对象提供上下文管理功能。
  10. 复数支持

    • Python内置支持复数,使用 complex(real, imag) 创建。
  11. 多进程日志

    • multiprocessing.get_logger() 获取多进程安全的日志记录器。
  12. 文件权限

    • 使用 os.chmod(path, mode) 改变文件权限。
  13. 时间戳转换

    • 使用 datetime.fromtimestamp() 将时间戳转换为日期时间对象。
  14. UUID生成

    • 使用 uuid.uuid4() 生成随机UUID。
  15. 弱引用字典

    • weakref.WeakKeyDictionaryweakref.WeakValueDictionary 提供了弱引用字典。
  16. 链式映射

    • collections.ChainMap 提供了多个字典的链式映射视图。
  17. 延迟属性计算

    • 使用 functools.cached_property 实现延迟属性计算。
  18. 递归限制

    • 使用 sys.getrecursionlimit()sys.setrecursionlimit(limit) 获取和设置递归深度限制。
  19. 字典视图

    • dict.keys(), dict.values(), dict.items() 提供了字典视图。
  20. 字节操作

    • int.to_bytes()int.from_bytes() 提供了整数与字节之间的转换。
  21. 动态类创建

    • 使用 type() 可以动态创建类。
  22. 字符串常量

    • string 模块提供了各种字符串常量,例如 string.ascii_letters, string.digits.
  23. 带默认值的字典

    • 使用 collections.defaultdict 创建带默认值的字典。
  24. 模块级别文档

    • 使用 __doc__ 为模块编写文档字符串。
  25. 属性代理

    • 使用 property() 函数可以创建代理属性。
  26. 单例模式

    • 使用元类可以实现单例模式。
  27. 正则表达式分组

    • 使用命名分组 (?P<name>pattern) 提高正则表达式的可读性。
  28. 自定义字符串格式化

    • 使用 str.format_map() 自定义字符串格式化行为。
  29. 时间差计算

    • 使用 datetime.timedelta 计算时间差。
  30. 性能计数器

    • 使用 time.perf_counter() 获取高精度性能计数器。
  31. 带索引的列表解析

    • 使用 enumerate() 在列表解析中同时获取索引和值。
  32. 类方法工厂

    • 使用 @classmethod 装饰器定义类方法工厂。
  33. 动态属性

    • 使用 __getattr__ 动态地获取属性。
  34. 命名元组默认值

    • 使用 _replace 方法和 _fields_defaults 属性设置命名元组的默认值。
  35. 按位运算

    • 使用 &, |, ^, ~, <<, >> 进行按位运算。
  36. 反转字典

    • 使用字典推导式反转字典的键和值 {v: k for k, v in my_dict.items()}
  37. 无序集合

    • frozenset 提供了不可变集合类型。
  38. 对象复制

    • 使用 copy.copy()copy.deepcopy() 进行浅复制和深复制。
  39. 元类控制实例创建

    • 使用元类可以控制类的实例创建过程。
  40. 自定义迭代器

    • 实现 __iter____next__ 方法定义自定义迭代器。
  41. 线程局部数据

    • threading.local() 提供了线程局部数据存储。
  42. 动态修改类

    • 可以在运行时动态添加或修改类的方法和属性。
  43. 异步上下文管理器

    • 使用 async with 实现异步上下文管理器。
  44. 异步生成器

    • 使用 async defyield 定义异步生成器。
  45. 无锁并发

    • 使用 queue.Queue 实现线程安全的无锁并发编程。
  46. 命令行进度条

    • 使用 tqdm 模块创建命令行进度条。
  47. 文件系统路径操作

    • os.path 模块提供了跨平台的文件系统路径操作。
  48. 临时文件和目录

    • tempfile 模块提供了创建临时文件和目录的功能。
  49. 解析URL

    • 使用 urllib.parse 解析和构建URL。
  50. 执行shell命令

    • 使用 subprocess 模块执行shell命令。
  51. HTTP请求

    • http.client 模块提供了HTTP客户端功能。
  52. WebSocket

    • websockets 模块提供了WebSocket客户端和服务器功能。
  53. 任务调度

    • 使用 sched 模块调度任务。
  54. 时间度量

    • timeit 模块提供了测量小段代码执行时间的功能。
  55. 跨平台

    • Python是跨平台的,支持Windows、Mac和Linux。
  56. 高阶函数

    • map(), filter(), reduce() 提供了高阶函数。
  57. 类型转换

    • 使用 int(), float(), str(), list(), tuple(), set(), dict() 进行类型转换。
  58. 生成随机字符串

    • 使用 secrets 模块生成安全的随机字符串。
  59. 静态文件服务器

    • 使用 http.server 模块快速启动一个静态文件服务器。
  60. 动态导入模块

    • 使用 importlib.import_module() 动态导入模块。
  61. 多线程

    • 使用 threading.Thread 创建和管理线程。
  62. 多进程

    • 使用 multiprocessing.Process 创建和管理进程。
  63. 生成器表达式

    • 使用生成器表达式 (x*x for x in range(10)) 节省内存。
  64. 自定义异常

    • 通过继承 Exception 类定义自定义异常。
  65. 魔术方法

    • 实现 __str__, __repr__, __len__, __getitem__, __setitem__ 等魔术方法增强类的功能。
  66. 测试覆盖率

    • 使用 coverage 模块测量测试覆盖率。
  • 16
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

trust Tomorrow

感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值