1. 为多个变量赋值

有时,有多个变量需要赋值,这时你会怎么赋值呢?

常规方法:

常规方法是给变量逐个赋值。

a = 0
b = 1
c = 2

优雅方法:

直接按顺序对应一一赋值。

a, b, c = 0, 1, 2

2. 序列解包

需要取出列表中的元素。

常规方法:

一般我们知道可以通过下标获取具体元素。

info = ['brucepk', 'man', 'python']
name = info[0]
sex = info[1]
tech = info[2]
print(name,sex,tech)# 结果
brucepk man python我是一名python开发工程师,整理了一套python的学习资料,从基础的python脚本到web开发、爬虫、
数据分析、数据可视化、机器学习、面试真题等。想要的可以进群:688244617免费领取

优雅方法:

给出对应变量接收所有元素。

info = ['brucepk', 'man', 'python']
name,sex,tech = info
print(name,sex,tech)# 结果
brucepk man python

3. 优雅你的判断语句

我们用判断语句来定义一个绝对值函数。

常规方法:

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

4. 区间判断

使用 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

5. 多个值符合条件判断

多个值任意一个值符合条件即为 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)# 结果
奇数

6. 判断是否为空

判断元素是空还是非空。

常规方法:

一般我们想到的是 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 后面的执行条件是可以简写的,只要条件 是非零数值、非空字符串、非空 list 等,就判断为 True,否则为 False。```pythonA,B,C =[1,3,5],{},''
if A:print('A 为非空')
if B:print('B 为非空')
if C:print('C 为非空')# 结果
A 为非空

7. 多条件内容判断至少一个成立

常规方法:

用 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

8. 多条件内容判断全部成立

常规方法:

使用 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

9. 遍历序列的元素和元素下标

常规方法:

使用 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

10. 循环语句优化

之前的文章 零基础学 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实用技巧,打破常规,让你的语句变得优雅美观!相关推荐

  1. python实用技巧(四)

    Python实用技巧(一) python实用技巧(二) python实用技巧(三) python实用技巧(四) 排序后,最后k个元素,以逆序输出 >>> l = range(1, 6 ...

  2. python实用技巧(二)

    Python实用技巧(一) python实用技巧(二) python实用技巧(三) python实用技巧(四) code 解释 补充 list.reverse() 返回值类型为NoneType l.r ...

  3. python实用技巧(一)

    Python实用技巧(一) python实用技巧(二) python实用技巧(三) python实用技巧(四) 已知X是多维数组类型,则: X[:, v],表示的是truncate X中的一些列(对应 ...

  4. 太牛了,24 个好用到爆的 Python 实用技巧

    在Python的学习过程中,很多小伙伴可能会想,我学了这么多,哪些是常用和实用的?怎样增加工作效率? 今天,我就总结了24个好用到爆的Python实用技巧,希望能对小伙伴们有帮助!欢迎收藏学习,喜欢点 ...

  5. python最新技术开锁工具_精选26个Python实用技巧,想秀技能先Get这份技术列表!...

    原标题:精选26个Python实用技巧,想秀技能先Get这份技术列表! 出品 | AI科技大本营 本文整理了 26 个 Python 有用的技巧,将按照首字母从 A~Z 的顺序分享其中一些内容. al ...

  6. python使用复合语句def创建函数对象_【收藏】Python实用技巧-成为Pythoner必经之路...

    前言 本文主要记录 Python 中一些常用技巧,所描述的是告诉你怎么写才是更好?  如果你并不熟悉Python语法,希望你能在下面代码片段中看到Python的简单.优雅; 如果你象我这样,对 Pyt ...

  7. 软件测试中python实用技巧,精选22个Python实用技巧,秀技能必备这份技术列表!...

    被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.那么今天或许我能够让你学到一些新技巧. Python的发展: "人生苦短,我用 Pytho ...

  8. python背诵技巧_精选22个Python实用技巧,秀技能必备这份技术列表!

    被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.那么今天或许我能够让你学到一些新技巧. Python的发展: "人生苦短,我用 Pytho ...

  9. 精选26个Python实用技巧,想秀技能先Get这份技术列表!

    作者 | Peter Gleeson 译者 | 婉清 编辑 | Jane 出品 | AI科技大本营 [导读]Python 虽然是脚本语言,但是因为其易学,迅速成为科学家的工具,从而积累了大量的工具库. ...

最新文章

  1. LeetCode简单题之将句子排序
  2. 如何查询高考成绩2021年的成绩排位,2021年四川高考个人排名怎么查询,四川高考成绩排名查询方法...
  3. linux上给其他在线用户发送信息(wall, write, talk, mesg)
  4. centos6 nodejs 安装测试
  5. 你需要知道的这几种 asp.net core 修改默认端口的方式
  6. 把一个不等于0的数最右侧的1提取出来
  7. 哈佛大学计算机科学专,哈佛大学计算机科学专业
  8. java AST 表达式_Atitti.java exp ast java表达式语法ast构造器
  9. 谈谈数值分析中的插值(截断)误差,以牛顿法为例
  10. Cellular Network
  11. 大学生python心得1000字_大学生读书心得1000字3篇
  12. Java案例实现用户登录
  13. element-ui的分页,添加首页、尾页,跳转按钮
  14. ant 安装依赖bug1
  15. 常见DOS命令及开发工具
  16. win7系统提示0x80072F8F错误代码的解决方法(刷新你的认知)
  17. matlab中portcons,Matlab在马柯维茨均值-方差模型的简单应用.ppt
  18. AIGC火了,但它能替代红人们吗?
  19. 掌财社:将鳄鱼的特性完全运用到期货战场中
  20. 通过nginx日志统计独立ip的个数

热门文章

  1. 做衣服供应链地推好不好做
  2. 2021年中国手机出货量及上市新机型情况分析:5G手机出货量达2.66亿部,占手机总出货量的75.78%[图]
  3. 天猫精灵的“小目标”:想搞AIoT,先花一百亿
  4. 计算机往届生考研失败找工作,考研考了四年,一直没考上.现在找工作,面试官问起过去几年在干什么,该怎么回答啊?...
  5. 程序员需要了解的逻辑学思想
  6. 【转载】南京.NET技术行业落地分享交流会圆满成功
  7. STM32H750_QSPI_W25QXX_XIP
  8. vue-element-admin登录接口修改
  9. jQuery清空input file文件域的解决方案
  10. 怎样在线制作GIF动图图片?教你一招在线动画制作的方法