python 优雅的写法_Python优雅的写法,让你事半功倍

为多个变量赋值

我们在需要为多个变量进行赋值的时候,经常会这么写:

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值