• 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. 正则表达式分组

      • 使用命名分组 (?Ppattern) 提高正则表达式的可读性。
    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 模块测量测试覆盖率。
  • 相关阅读:
    深度清理mac磁盘空间的方法,方方面面都清理干净
    springboot教务评教系统毕业设计源码252116
    企业微信获取客户群里用户的unionid;企业微信获取客户详情
    八款流行无线黑客工具,非常实用
    跨平台音频播放库
    Vue 路由使用
    python中不可变类型和可变类型
    数据结构课程设计——用单链表存储多项式实现多项式相加(提供源码和报告)
    【双目视觉】 SGBM算法应用(Python版)
    智能手表上的音频(五):录音
  • 原文地址:https://blog.csdn.net/liudadaxuexi/article/details/140229358