个人学习总结,持续更新中……
参考文献
[1]《Python高手修炼之道》,人民邮电出版社出版,许向武/著
顺序结构
Python语言把缩进作为语法的一部分,缩进层次相同且连续的一段代码就是一个顺序结构的代码块。运行时,代码块内的代码从上到下,依次被解释执行。
if
三元表达式
是if-else的简化版,语句上类似倒装句。
y = 5
if y < 0:
print('y是一个负数')
else:
print('y是一个非负数')
y = 5
print('y是一个负数' if y < 0 else 'y是一个非负数')
y = 5
x = -1 if y < 0 else 1
print(x)
#############
y是一个非负数
y是一个非负数
1
三元表达式与for语句的结合
先执行三元表达式,再执行for语句。
weights = [1, 2, 3]
for w in weights if isinstance(weights, list) else [weights]:
print(w)
# 1
# 2
# 3
path = 'data/Annotations/img_synthesis_3_4552_5340.xml'
for p in path if isinstance(path, list) else [path]:
print(p)
# data/Annotations/img_synthesis_3_4552_5340.xml
列表推导式
列表推导式可以让代码更简练。利用for循环生成列表。
a = [1, 2, 3, 4, 5]
print([i * i for i in a])
# [1, 4, 9, 16, 25]
freeze = [i == 26 for i in range(25, 31)]
print(freeze)
# [False, True, False, False, False, False]
如果条件只有if,必须放在for循环之后。
print([i for i in range(10) if i % 2 == 0])
# [0, 2, 4, 6, 8]
如果条件是if-else,类似于三元表达式,则必须置于for循环之前。
print([i if i % 2 == 0 else -1 * i for i in range(10)])
# [0, -1, 2, -3, 4, -5, 6, -7, 8, -9]