-
为多个变量赋值
我们在需要为多个变量进行赋值的时候,经常会这么写:
height = 20
weitht = 10
width = 50
在Python中我们可以优雅的写成
height, weight, width = 20, 10, 50
-
序列解包
需要取出一个序列中的各个元素进行打印,通常会这么写:
info = ["steve", "male", 58]
name = info[0]
gender = info[1]
age = info[2]
print(name, gender, age)
在Python中我们可以优雅的写成
info = ["steve", "male", 58]
name, gender, age = info
print(name, gender, age)
-
优雅你的判断语句
用判断语句定义绝对值函数,通常如下写法:
def my_abs(x):
if x <0:
return -x
else:
return x
在Python中我们可以优雅的写成
def my_abs(x):
return -x if x <0 else x
-
区间判断
使用 and 连续两次判断的语句,条件都符合时才执行语句。我们通常是这么写的:
score = 85
if score >= 80 and socre <90:
print("B")
在Python中可以写的一目了然
score = 85
if 80 <= score <90:
print("B")
-
多个值符合条件判断
多个值任意一个值符合条件即为 True 的情况, 我们通常的写法:
num = 3
type = ""
if num == 1 or num == 3 or num == 5 or num == 7:
type = "奇数"
print(type)
在Python中我们可以简洁的写成
num = 3
type = ""
if num in (1, 3, 5, 7):
type = "奇数"
print(type)
-
判断是否为空
判断元素是空还是非空。我们一般是用len()函数判断一下长度是不是等于0,不等于0,那就说明是空的,通常是这么写的
a, b, c = [1, 4, 5], {}, ()
if len(a) > 0:
print("a为非空")
elif len(b) > 0:
print("b为非空")
elif len(c) > 0:
print("c为非空")
在Python中,if 后面的执行条件是可以简写的,只要条件 是非零数值、非空字符串、非空 list 等,就判断为 True,否则为 False。所以,我们可以这么写
a, b, c = [1, 4, 5], {}, ()
if a:
print("a为非空")
elif b:
print("b为非空")
elif c:
print("c为非空")
-
多条件内容判断至少一个成立
通常我们都是使用or
来分割条件,都是这么写的
math, english, computer = 89, 88, 90
if math > 60 or english > 60 or computer > 60:
print("pass")
else:
print("fail")
在Python中,我们可以使用any
函数把判断条件串联起来
math, english, computer = 89, 88, 90
if any(math > 60, english > 60, computer > 60):
print("pass")
else:
print("fail")
-
多条件内容判断全部成立
通常我们都是把需要判断的语句用and
来串联起来的,都是这么写的
math, english, computer = 89, 88, 90
if math > 60 and english > 60 and computer > 60:
print("pass")
else:
print("fail")
在Python中我们可以使用all
函数把判断条件串联起来
math, english, computer = 89, 88, 90
if all(math > 60, english > 60, computer > 60):
print("pass")
else:
print("fail")
-
遍历序列的元素和元素下标
我们通常都是使用for
循环进行遍历元素和下标。
L =["math", "English", "computer", "Physics"]
for i in L:
print(i, ":", L[i])
在Python中,我们可以使用enumerate
函数,感觉更加的简洁
L =["math", "English", "computer", "Physics"]
for k, v in enumerate(L):
print(k, ":", v)
-
列表生成
我们通常都是使用for
循环,来生成列表的。比如我们要生成一个 [1x1,2x2,3x3,4x4,5x5] 的列表
L = []
for i in range(1, 5):
L.append(i * i)
print(L)
在Python中,我们可以使用列表推导式,快速的生成这个列表
L = [i * i for i in range(1, 5)]
print(L)