为多个变量赋值
有时,有多个变量需要赋值,这时你会怎么赋值呢?
常规方法:
常规方法是给变量逐个赋值。
1 | a = 0 |
优雅方法:
直接按顺序对应一一赋值。1
a, b, c = 0, 1, 2
序列解包
需要取出列表中的元素。
常规方法:
一般我们知道可以通过下标获取具体元素。1
2
3
4
5
6
7
8info = ['brucepk', 'man', 'python']
name = info[0]
sex = info[1]
tech = info[2]
print(name,sex,tech)
# 结果
brucepk man python
优雅方法:
给出对应变量接收所有元素。
1 | info = ['brucepk', 'man', 'python'] |
优雅方法:
1 | x = -6 |
区间判断
使用 and 连续两次判断的语句,条件都符合时才执行语句。
常规方法:
1 | score = 82 |
优雅方法:
使用链式判断。1
2
3
4
5
6
7score = 82
if 80 <= score < 90:
level = 'B'
print(level)
# 结果
B
多个值符合条件判断
多个值任意一个值符合条件即为 True 的情况。
常规方法:
1 | num = 1 |
优雅方法:
使用关键字 in,让你的语句更优雅。1
2
3
4
5
6
7num = 1
if num in(1,3,5):
type = '奇数'
print(type)
# 结果
奇数
判断是否为空
判断元素是空还是非空。
常规方法:
一般我们想到的是 len() 方法来判断元素长度,大于 0 则为非空。
1 | A,B,C =[1,3,5],{},'' |
优雅方法:
if 后面的执行条件是可以简写的,只要条件 是非零数值、非空字符串、非空 list 等,就判断为 True,否则为 False。
1 | A,B,C =[1,3,5],{},'' |
多条件内容判断至少一个成立
常规方法:
用 or 连接多个条件。1
2
3
4
5
6math,English,computer =90,80,88
if math<60 or English<60 or computer<60:
print('not pass')
# 结果
not pass
优雅方法:
使用 any 语句。1
2
3
4
5
6math,English,computer =90,59,88
if any([math<60,English<60,computer<60]):
print('not pass')
# 结果
not pass
多条件内容判断全部成立
常规方法:
使用 and 连接条件做判断。1
2
3
4
5
6math,English,computer =90,80,88
if math>60 and English>60 and computer>60:
print('pass')
# 结果
pass
优雅方法:
使用 all 方法。
1 | math,English,computer =90,80,88 |
遍历序列的元素和元素下标
常规方法:
使用 for 循环进行遍历元素和下标。
1 | L =['math', 'English', 'computer', 'Physics'] |
Python 这些优雅的写法学会了吗?自己赶紧动手试试吧。