记 Python 3.8 引入的几个语法,顺带把常用标准库(collections、operator、itertools)和闭包、装饰器、property 这些日常会写到的东西一起整理。
海象表达式 :=
可以在表达式内部赋值,省掉一次单独的赋值语句:
if (a := 3) > 2:
print(a) # 3
while (a := a + 1) < 10:
print(a) # 4, 5, 6, 7, 8, 9
记 Python 3.8 引入的几个语法,顺带把常用标准库(collections、operator、itertools)和闭包、装饰器、property 这些日常会写到的东西一起整理。
:=可以在表达式内部赋值,省掉一次单独的赋值语句:
if (a := 3) > 2:
print(a) # 3
while (a := a + 1) < 10:
print(a) # 4, 5, 6, 7, 8, 9
=,以及 collections / operator / itertools、闭包、装饰器、propertyCentOS 7 自带的是 Python 2,yum 又依赖它,直接动系统 Python 会把 yum 搞坏。稳妥的做法是把新版 Python 编译装到 /usr/local,和系统 Python 隔离开。
先装编译依赖,缺了这些 make 出来的 Python 会少模块(比如缺 openssl-devel 就没法 pip,缺 libffi-devel 装不了一堆包):
yum install -y bzip2-devel db4-devel gdbm-devel libpcap-devel ncurses-devel \
openssl-devel readline-devel sqlite-devel tk-devel xz-devel zlib-devel gcc make
yum install -y libffi-devel