python 66 个冷知识 0706
最编程
2024-07-07 20:35:43
...
Python的名字来源
- Python的名字不是来自蛇,而是来自英国的喜剧团体“蒙提·派森”。
多行字符串
- Python支持使用三重引号
'''
或"""
来创建多行字符串。
链式比较
- Python允许你进行链式比较,例如
1 < a < 3
。
强制换行
- 你可以在Python中使用反斜杠
\
来强制换行。
Python中的else
- 在循环中可以使用
else
语句。for
和while
循环可以有一个else
子句,它在循环没有遇到break
终止时执行。
嵌套函数
- 在Python中,你可以在函数内部定义另一个函数。
动态类型
- Python是动态类型语言,你可以在运行时改变变量类型。
多赋值
- 你可以在一行中给多个变量赋值,例如
a, b, c = 1, 2, 3
。
无参数返回值
- 如果一个函数没有返回值,它会默认返回
None
。
复数
- Python原生支持复数,例如
a = 1 + 2j
。
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__)
查看。
反转字符串
- 你可以使用切片反转字符串,例如
s[::-1]
。
多重赋值和交换变量
- 在Python中,交换两个变量的值非常简单:
a, b = b, a
。
内存管理
- Python使用引用计数和垃圾回收机制来管理内存。
函数注解
- Python 3.0引入了函数注解,可以用来标注函数参数和返回值的类型,例如
def func(x: int) -> str:
。
Zen of Python
- 你可以在Python解释器中输入
import this
来查看Python之禅(The Zen of Python),它包含了Python设计的指导原则。
动态代码执行
- 你可以使用
exec
和eval
来动态执行Python代码。
多变量返回
- 函数可以返回多个变量,例如
return a, b
,并使用a, b = func()
解包。
字节对象
- Python中的字符串有
str
和bytes
两种类型,可以通过前缀b
来创建字节对象。
条件表达式
- Python支持条件表达式(即三元运算符),例如
x = a if condition else b
。
默认参数
- 函数参数可以有默认值,例如
def func(x=10):
。
传递可变对象
- 在函数中传递可变对象(例如列表或字典)时,修改对象会影响原始对象。
函数也是对象
- 在Python中,函数也是对象,可以赋值给变量,作为参数传递,或作为返回值返回。
导入模块的别名
- 使用
import module as alias
可以为导入的模块指定一个别名。
导入部分模块
- 你可以从一个模块中导入部分内容,例如
from module import func
。
迭代器和生成器
- Python支持迭代器和生成器,可以使用
yield
关键字创建生成器。
上下文管理器
- 使用
with
关键字可以简化资源管理,例如文件操作with open('file.txt') as f:
。
装饰器
- 装饰器是一种用于修改函数行为的高级特性,使用
@decorator
语法。
元类
- Python中的类是由元类创建的,可以通过自定义元类来修改类的创建行为。
鸭子类型
- Python支持鸭子类型,不要求明确的接口,只要实现所需的方法即可。
单行代码块
- Python允许你在同一行编写多条语句,用分号分隔,例如
a = 1; b = 2; c = a + b
。
字符串格式化
- Python提供了多种字符串格式化方法,包括
%
操作符、str.format()
方法和 f-string(格式化字符串字面值)。
集合
- Python内置集合类型,可以用花括号
{}
创建,例如a = {1, 2, 3}
。
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
查看缓存的模块。
对象标识
- 使用
id()
函数可以获取对象的唯一标识。
垃圾回收
- Python使用垃圾回收机制管理内存,可以通过
gc
模块手动干预。
协程
- 使用
async
和await
关键字可以定义和使用协程。
多线程
- Python提供了
threading
模块来实现多线程编程。
多进程
- Python提供了
multiprocessing
模块来实现多进程编程。
虚拟环境
- 使用
venv
或virtualenv
可以创建独立的Python虚拟环境。
包管理
-
pip
是Python的包管理工具,用于安装和管理软件包。
导入钩子
- 可以通过自定义导入钩子来修改模块的导入行为。
序列化
-
pickle
模块提供了对象序列化和反序列化的功能。
日期时间
-
datetime
模块提供了处理日期和时间的功能。
正则表达式
-
re
模块提供了正则表达式匹配功能。
单元测试
-
unittest
模块提供了编写和运行单元测试的框架。
文档生成
-
sphinx
是一个用于生成Python项目文档的工具。
代码风格
-
PEP 8
是Python的代码风格指南。
类型检查
-
mypy
是一个用于Python的静态类型检查工具。
代码格式化
-
black
是一个流行的Python代码格式化工具。
代码静态分析
-
pylint
是一个用于Python代码的静态分析工具。
推荐阅读
-
python 66 个冷知识 0706
-
史上最污的技术解释,我居然几秒钟就明白了!-冷备份。 假设你是一个同时和两个男人恋爱的女人,这两个男人都是你的男朋友。而且他们还互不往来,各自为政。这就是双重热备份。 假设你是一名女性,对男友给你的安全感感到不安。在男友不知道的远方,你和一个男人保持联系,你告诉他你没有男朋友,你们处于纠缠期,一旦你和男友分开,你就可以立刻把感情转移到异地男人身上。这就是异地灾后恢复。 假设你是一个有男朋友的女人,你花钱请婚介所为你留意好的资源。一旦你和你的这个男朋友分开,婚介所马上为你安排资源,你们的感情不间断地运行,这就是云备份 。。。。。 数据安全大于一切,今天你备份自己了吗? 假设你是一位女性,你怀疑男友对你的忠诚度,于是购买了某宝测试忠诚度的服务。这就是一场灾难演习。友情提醒,千万不要在没有备份的情况下进行灾难演习,让数据大出血可不是个好主意。 假设你是女性,你有一个好得不能再好的闺蜜,好到可以共用一个男朋友,也就是 NAS。 备份突然有了女朋友,要不要收回去? 备份是为了更好地运行,所以再给大家普及一下运行维护知识: 假设你是一个女人,你的男朋友沉迷游戏经常不接电话无故停机,于是当你下午准备去逛街后就要时不时打个电话问问,看他是否还能正常提供服务,这叫心跳检测。 假设你是一位女性,你想去购物,而你的男朋友 A 在游戏中不接电话,于是你就把购物请求发送给替代的男朋友 B,这样就保证了服务的不间断运行,这就叫故障转移!
-
在 Windows 上安装并创建 python 开发环境(网上最详细的介绍)!-很多人学习 python 却不知从何下手。很多人学习 python,基本语法都掌握了,却不知道去哪里找案例入门。很多人已经做过案例,但不知道如何学习更高级的知识。所以针对这三类人,我给大家提供了一个很好的学习平台,免费的视频教程、电子书和课程源代码!
-
Python 类和对象知识点档案:深入理解的 20 个基石
-
你可能不知道的稻盛和夫冷知识--最后一个你想不到,更做不到!
-
6个冷知识微信玩语音,多久会被系统挂掉
-
100天学会Python|基础知识篇 —— 03、Python启蒙指南(编写首个Python程序,涵盖13个小贴士)