- 逗号隔开多个值 # print("age:", 42)
- 语句逗号结尾,后面的内容会在同行打印
import
- import xxx
- from xxx import yyy
- import xxx as zzz # 提供别名 from math import sqrt as sth
赋值 =
- 序列解包(sequence unpacking) # x, y, z = 1, 2, 3 # 多赋值
- # x, y = y, x # 交互赋值
- # k, v = dict.popitem() # 多返回值
- 链式赋值 # x = y = 1 # y=1, x=y
- 增量赋值 # x += y
块
- 通过缩排使语句成组的方法
- python是以':'为开始,
- 缩进为内容,
- 和之前缩进一致为结束
- 用于条件,循环,函数,类,等
条件
- bool
- 这些为Flase # False, None, 0, "", [], (), {}
- 其余都是True
- {} != [] != ()
- is和==
- is是判断同一性 # 是否指向同一个对象
- ==是判断是否相等 # 对象的内容是否相等
- if / elef / else
- 条件表达式 # a if b else c
断言 assert
- assert(条件), "提示"
循环 iterate - while/for
- 为序列的每个元素执行一个语句块
- 在条件为真的时候继续执行一段语句
- range() # range类似slicing
- continue
- break
- 循环结尾加上else子句,当没执行break时执行else
列表推导式 list comprehension
- 看起来像循环的表达式
- 直接使用循环和条件语句,程序更易读
e.g. [x * x for x in range(10)]
其他
- pass # 因为python空语句块是非法的,所以需要pass
- del # 删除的只是名称(应该类似解除指针引用吧?)而不是值本身
- exec() # 作为python语句执行
- eval() # 作为python表达式计算并返回结果
函数
- chr(n) # 返回n所代表的包含一个字符的字符串
- eval()
- enumerate(seq) # 产生用于迭代的(index, value)对
- ord(c) # 返回单字符字符串的int值
- range([start,] stop[, step]) # 创建整数列表
- reversed(seq) # 反向seq的值用于迭代,非原地修改
- sorted(seq[, cmp][, key][, reverse]) # 返回seq值排序后的列表,非原地修改
- zip(seq1, seq2, ...) # 创造用于并行迭代的新序列
enumerate()
for (idx, string) in enumerate(strings):
if 'xxx' in strings:
strings[idx] = '[censored]'
zip()
for (name, age) in zip(names, ages):
print(name, "is", age, "years old")