66个有趣的Python冷知识
-  Python的名字来源 - Python的名字不是来自蛇,而是来自英国的喜剧团体“蒙提·派森”。
 
-  多行字符串 - Python支持使用三重引号 '''或"""来创建多行字符串。
 
- Python支持使用三重引号 
-  链式比较 - Python允许你进行链式比较,例如 1 < a < 3。
 
- Python允许你进行链式比较,例如 
-  强制换行 - 你可以在Python中使用反斜杠 \来强制换行。
 
- 你可以在Python中使用反斜杠 
-  Python中的else - 在循环中可以使用else语句。for和while循环可以有一个else子句,它在循环没有遇到break终止时执行。
 
- 在循环中可以使用
-  嵌套函数 - 在Python中,你可以在函数内部定义另一个函数。
 
-  动态类型 - Python是动态类型语言,你可以在运行时改变变量类型。
 
-  多赋值 - 你可以在一行中给多个变量赋值,例如 a, b, c = 1, 2, 3。
 
- 你可以在一行中给多个变量赋值,例如 
-  无参数返回值 - 如果一个函数没有返回值,它会默认返回None。
 
- 如果一个函数没有返回值,它会默认返回
-  复数 - Python原生支持复数,例如 a = 1 + 2j。
 
- Python原生支持复数,例如 
-  GIL(全局解释器锁) - 在CPython中,多线程受限于全局解释器锁(GIL),这限制了多线程并行执行。
 
-  列表推导式 - 列表推导式是一种简洁的生成列表的方式,例如 [x*x for x in range(10)]。
 
- 列表推导式是一种简洁的生成列表的方式,例如 
-  字典推导式 - 类似于列表推导式,你也可以使用字典推导式,例如 {x: x*x for x in range(10)}。
 
- 类似于列表推导式,你也可以使用字典推导式,例如 
-  匿名函数 - 使用 lambda关键字可以创建匿名函数,例如lambda x: x + 1。
 
- 使用 
-  内置函数数量 - Python内置了超过70个函数,可以通过 dir(__builtins__)查看。
 
- Python内置了超过70个函数,可以通过 
-  反转字符串 - 你可以使用切片反转字符串,例如 s[::-1]。
 
- 你可以使用切片反转字符串,例如 
-  多重赋值和交换变量 - 在Python中,交换两个变量的值非常简单:a, b = b, a。
 
- 在Python中,交换两个变量的值非常简单:
-  内存管理 - Python使用引用计数和垃圾回收机制来管理内存。
 
-  函数注解 - Python 3.0引入了函数注解,可以用来标注函数参数和返回值的类型,例如 def func(x: int) -> str:。
 
- Python 3.0引入了函数注解,可以用来标注函数参数和返回值的类型,例如 
-  Zen of Python - 你可以在Python解释器中输入 import this来查看Python之禅(The Zen of Python),它包含了Python设计的指导原则。
 
- 你可以在Python解释器中输入 
-  动态代码执行 - 你可以使用 exec和eval来动态执行Python代码。
 
- 你可以使用 
-  多变量返回 - 函数可以返回多个变量,例如 return a, b,并使用a, b = func()解包。
 
- 函数可以返回多个变量,例如 
-  字节对象 - Python中的字符串有str和bytes两种类型,可以通过前缀b来创建字节对象。
 
- Python中的字符串有
-  条件表达式 - Python支持条件表达式(即三元运算符),例如 x = a if condition else b。
 
- Python支持条件表达式(即三元运算符),例如 
-  默认参数 - 函数参数可以有默认值,例如 def func(x=10):。
 
- 函数参数可以有默认值,例如 
-  传递可变对象 - 在函数中传递可变对象(例如列表或字典)时,修改对象会影响原始对象。
 
-  函数也是对象 - 在Python中,函数也是对象,可以赋值给变量,作为参数传递,或作为返回值返回。
 
-  导入模块的别名 - 使用 import module as alias可以为导入的模块指定一个别名。
 
- 使用 
-  导入部分模块 - 你可以从一个模块中导入部分内容,例如 from module import func。
 
- 你可以从一个模块中导入部分内容,例如 
-  迭代器和生成器 - Python支持迭代器和生成器,可以使用 yield关键字创建生成器。
 
- Python支持迭代器和生成器,可以使用 
-  上下文管理器 - 使用 with关键字可以简化资源管理,例如文件操作with open('file.txt') as f:。
 
- 使用 
-  装饰器 - 装饰器是一种用于修改函数行为的高级特性,使用 @decorator语法。
 
- 装饰器是一种用于修改函数行为的高级特性,使用 
-  元类 - Python中的类是由元类创建的,可以通过自定义元类来修改类的创建行为。
 
-  鸭子类型 - Python支持鸭子类型,不要求明确的接口,只要实现所需的方法即可。
 
-  单行代码块 - Python允许你在同一行编写多条语句,用分号分隔,例如 a = 1; b = 2; c = a + b。
 
- Python允许你在同一行编写多条语句,用分号分隔,例如 
-  字符串格式化 - Python提供了多种字符串格式化方法,包括 %操作符、str.format()方法和 f-string(格式化字符串字面值)。
 
- Python提供了多种字符串格式化方法,包括 
-  集合 - Python内置集合类型,可以用花括号 {}创建,例如a = {1, 2, 3}。
 
- Python内置集合类型,可以用花括号 
-  frozenset - frozenset是一种不可变集合,创建后不能修改。
 
-  命名元组 - collections.namedtuple提供了一种创建轻量级对象的方式,可以通过名称访问字段。
 
-  默认字典 - collections.defaultdict提供了一种字典的子类,可以在访问不存在的键时提供默认值。
 
-  计数器 - collections.Counter是一种用于计数的字典子类。
 
-  有序字典 - collections.OrderedDict是一种保持插入顺序的字典。
 
-  双向队列 - collections.deque提供了一种高效的双向队列。
 
-  全局变量 - 在函数内部可以使用 global关键字声明全局变量。
 
- 在函数内部可以使用 
-  非局部变量 - 在嵌套函数中可以使用 nonlocal关键字声明非局部变量。
 
- 在嵌套函数中可以使用 
-  扩展列表 - 使用 *操作符可以将列表解包为独立的元素,例如print(*[1, 2, 3])。
 
- 使用 
-  扩展字典 - 使用 **操作符可以将字典解包为独立的键值对参数,例如func(**{'a': 1, 'b': 2})。
 
- 使用 
-  参数解包 - 函数定义中的 *args和**kwargs可以分别用于解包任意数量的位置参数和关键字参数。
 
- 函数定义中的 
-  模块缓存 - Python会缓存导入的模块,可以通过 sys.modules查看缓存的模块。
 
- Python会缓存导入的模块,可以通过 
-  对象标识 - 使用 id()函数可以获取对象的唯一标识。
 
- 使用 
-  垃圾回收 - Python使用垃圾回收机制管理内存,可以通过 gc模块手动干预。
 
- Python使用垃圾回收机制管理内存,可以通过 
-  协程 - 使用 async和await关键字可以定义和使用协程。
 
- 使用 
-  多线程 - Python提供了 threading模块来实现多线程编程。
 
- Python提供了 
-  多进程 - Python提供了 multiprocessing模块来实现多进程编程。
 
- Python提供了 
-  虚拟环境 - 使用 venv或virtualenv可以创建独立的Python虚拟环境。
 
- 使用 
-  包管理 - pip是Python的包管理工具,用于安装和管理软件包。
 
-  导入钩子 - 可以通过自定义导入钩子来修改模块的导入行为。
 
-  序列化 - pickle模块提供了对象序列化和反序列化的功能。
 
-  日期时间 - datetime模块提供了处理日期和时间的功能。
 
-  正则表达式 - re模块提供了正则表达式匹配功能。
 
-  单元测试 - unittest模块提供了编写和运行单元测试的框架。
 
-  文档生成 - sphinx是一个用于生成Python项目文档的工具。
 
-  代码风格 - PEP 8是Python的代码风格指南。
 
-  类型检查 - mypy是一个用于Python的静态类型检查工具。
 
-  代码格式化 - black是一个流行的Python代码格式化工具。
 
-  代码静态分析 - pylint是一个用于Python代码的静态分析工具。
 












![【代码随想录】【算法训练营】【第60天】 [卡码107]寻找存在的路径](https://i-blog.csdnimg.cn/direct/6fb0f616919b49c2a41faddee2d68c3f.png)






