前言
我们都知道,Python 的设计哲学是「优雅」、「明确」、「简单」。这也许很多人选择 Python 的原因。但是我收到有些伙伴反馈,他写的 Python 并不优雅,甚至很臃肿,那可能是你的姿势不对哦!今天就给大家带来 Python 语句的十大优雅之法。
为多个变量赋值
有时,有多个变量需要赋值,这时你会怎么赋值呢?
常规方法:
常规方法是给变量逐个赋值。
a = 0
b = 1
c = 2
优雅方法:
直接按顺序对应一一赋值。
a, b, c = 0, 1, 2
序列解包
需要取出列表中的元素。
常规方法:
一般我们知道可以通过下标获取具体元素。
info = ['brucepk', 'man', 'python']
name = info[0]
sex = info[1]
tech = info[2]
print(name,sex,tech)
# 结果
brucepk man python
优雅方法:
给出对应变量接收所有元素。
info = ['brucepk', 'man', 'python']
name,sex,tech = info
print(name,sex,tech)
# 结果
brucepk man python
优雅你的判断语句
我们用判断语句来定义一个绝对值函数。
常规方法:
x = -6
if x < 0:
y = -x
else:
y = x
print(y)
# 结果
6
优雅方法:
x = -6
y = -x if x<0 else x
print(y)
# 结果
6
区间判断
使用 and 连续两次判断的语句,条件都符合时才执行语句。
常规方法:
score = 82
if score >=80 and score < 90:
level = 'B'
print(level)
# 结果
B
优雅方法:
使用链式判断。
score = 82
if 80 <= score < 90:
level = 'B'
print(level)
# 结果
B
多个值符合条件判断
多个值任意一个值符合条件即为 True 的情况。
常规方法:
num = 1
if num == 1 or num == 3 or num == 5:
type = '奇数'
print(type)
# 结果
奇数
优雅方法:
使用关键字 in,让你的语句更优雅。
num = 1
if num in(1,3,5):
type = '奇数'
print(type)
# 结果
奇数
判断是否为空
判断元素是空还是非空。
常规方法:
一般我们想到的是 len() 方法来判断元素长度,大于 0 则为非空。
A,B,C =[1,3,5],{},''
if len(A) > 0:
print('A 为非空')
if len(B) > 0:
print('B 为非空')
if len(C) > 0:
print('C 为非空')
# 结果
A 为非空
优雅方法:
在之前的文章 零基础学 python 之 if 语句 中讲过,if 后面的执行条件是可以简写的,只要条件 是非零数值、非空字符串、非空 list 等,就判断为 True,否则为 False。
A,B,C =[1,3,5],{},''
if A:
print('A 为非空')
if B:
print('B 为非空')
if C:
print('C 为非空')
# 结果
A 为非空
多条件内容判断至少一个成立
常规方法:
用 or 连接多个条件。
math,English,computer =90,80,88
if math<60 or English<60 or computer<60:
print('not pass')
# 结果
not pass
优雅方法:
使用 any 语句。
math,English,computer =90,59,88
if any([math<60,English<60,computer<60]):
print('not pass')
# 结果
not pass
多条件内容判断全部成立
常规方法:
使用 and 连接条件做判断。
math,English,computer =90,80,88
if math>60 and English>60 and computer>60:
print('pass')
# 结果
pass
优雅方法:
使用 all 方法。
math,English,computer =90,80,88
if all([math>60,English>60,computer>60]):
print('pass')
# 结果
pass
遍历序列的元素和元素下标
常规方法:
使用 for 循环进行遍历元素和下标。
L =['math', 'English', 'computer', 'Physics']
for i in range(len(L)):
print(i, ':', L[i])
# 结果
0 : math
1 : English
2 : computer
3 : Physics
优雅方法:
使用 enumerate 函数。
L =['math', 'English', 'computer', 'Physics']
for k,v in enumerate(L):
print(k, ':', v)
# 结果
0 : math
1 : English
2 : computer
3 : Physics
循环语句优化
之前的文章 零基础学 Python 之列表生成式 中讲过列表生成时的用法,举例:生成 [1x1,2x2,3x3,4x4,5x5]。
常规方法:
使用简单的 for 循环可以达到目的。
L = []
for i in range(1, 6):
L.append(i*i)
print(L)
#结果:
[1, 4, 9, 16, 25]
优雅方法:
使用列表生成式,一行代码搞定。
print([x*x for x in range(1, 6)])
#结果:
[1, 4, 9, 16, 25]
Python 这些优雅的写法学会了吗?自己赶紧动手试试吧。
读者福利:如果你喜欢编程,那这套python学习资料一定对你有用,
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等教程。带你从零基础系统性的学好Python!
零基础Python学习资源介绍
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉Python基础👈
👉Python自动化办公教程👈
👉python爬虫 👈
👉python机器学习 👈
👉实战案例👈
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
资料领取
这份完整版的Python全套学习资料已经上传网盘,朋友们如果需要可以点击下方微信卡片免费领取 ↓↓↓【保证100%免费】
或者
【点此链接】领取
![](https://img-blog.csdnimg.cn/img_convert/3c5f17159e661da81b47bbe863884639.png)
好文推荐
了解python的前景: https://blog.csdn.net/weixin_49892805/article/details/127196159
了解python的副业: https://blog.csdn.net/weixin_49892805/article/details/127214402