import
具体用法:
- from somemodule import *:导入模块的一切
- import math as foobar:语句末尾添加as字句可以指定为别名
赋值魔法
序列解包:将一个序列解包,并将得到的值存储到一系列变量中
- 从字典中随机获取一个键值对,key,value = d.popitem()
- 左右两边的目标个数相同,否则会报错
- 可使用*来收集多余的值:a,b,rest * =[1,2,3,4];rest = [3,4];带星号的变量也可以放在其他位置
- 带星号的变量最终包含的总是一个列表
链式赋值:将多个变量关联到一个值,并只涉及该值一个
- x=y=somefunction()与x=somefunction();y=x
- x=somefunction();y=somefunction()这两条语句并不关联
增强赋值:类似于c语言,适用于所有标准运算符
- x += 2
条件语句
bool值
- 假:False、None、空序列和空映射
- 真:除假之外所有值
条件语句:
if True:
print(“”)
elif:
print(“”)
else:
比较运算符:
- ==、<=、>=、!=、<、>
- is:是同一个对象,来检查是否相同,相等不一定相同,必须是同一个对象
- is not:不是同一个对象
- in:是容器中的成员
- not in:不是容器中的成员
循环语句
for循环:左闭右开
for i in range(): #自动从0开始起
for i in range(0,10): #范围是0-10
for i in range(0,10,3): #范围是0-10,每次i+3
for x in name: #可以打印name的字符串
a={“aa”,”bb”}
for i in range(len(a)) #可以打印数组数据
while循环
- while 判断条件:
迭代字典:
for key in d:
print(key,d[key])
for key,value in items():
print(key,value)
并行迭代:
names = []
for i in range(len(names)):
print(names[i])
- zip(seq1,seq2):可以通过zip来缝合两个序列,并返回一个元组
- 缝合后,可在循环中将元组解包from names,age in zip(names,ages):
迭代时获取索引:
- for index,string in enumerate(strings):
- 内置函数enmuerate()可以获取序列索引
反向迭代和排序后再迭代:
- sorted返回一个列表,reversed像zip那样返回一个更神秘的可迭代对象,不能对其执行索引或切片操作
跳出循环:
- break
- continue
三人行
- pass:什么都不执行,可当做占位符
- del:删除名称而并非值,删除值交给python解释器
- exec("")、eval():执行字符串中的语句,需要添加第二个字典类型的参数作为命名空间