网站首页 > 编程文章 正文
现在Python越来越受程序员欢迎了,程序员用Python可以做哪些有趣的事情呢?
下面w3cschool就给小伙伴们介绍一下Python编程的5件趣事:
0.for-else用法
循环正常结束则执行else语句。一般用于循环找符合条件的元素,如果找到则break调出循环,不会触发else;如果没有找到(完整运行循环)则print not found
1.or的用法
python中x or y表示如果x为真就是x的值,否则为y的值
我们会经常看到类似这样的用法(比如函数的一个value参数没有设置默认值,这样使用就允许它不赋值)
value = value or {}
# 相当于
value = value if value else {}
2.and的用法
python中x and y表示如果x是假,结果就是x的值,否则就是y的值
x and y and z多个and连接时,如果全是真结果就是最后一个的值;如果中间有假的值,结果就是第一个假的值
举一个例子
def not_empty(a):
return a and a.strip()
not_empty(' a ')
# 值为 'a'
not_empty(None)
# 不会报错(如果 return a.strip() 就会报错)
# 在处理None的问题上相当于
def not_empty(a):
if a is None:
return None
else:
return a.strip()
细细品味and和or的差别,他们逻辑类似,但是实现的功能是不可以相互替代的
or 是结果如果不满意有个善后工作
and是要做一件事之前先检验一下,不能做就不让它做。
3.单行if-else
a = 1
b = 3 if a == 1 else 2
print('it is one' if a == 1 else 'no')
4.迭代器传入函数中不用加括号
# 一般是这样
a = (i for i in range(10))
sum(a)
# 我们可以这样
sum((i for i in range(10)))
# 但我们还可以这样
sum(i for i in range(10))
# 类似的有
' '.join(str(i) for i in range(10))
python有趣的解包用法
python中的解包可以这样理解:一个list是一个整体,想把list中每个元素当成一个个个体剥离出来,这个过程就是解包,我们来看下面这些例子。
1.将list中每个元素赋值给一个变量
>>> name, age, date = ['Bob', 20, '2018-1-1']
>>> name
'Bob'
>>> age
20
>>> date
'2018-1-1'
2.可迭代对象都可以这样做
# 列表
>>> a,b,c = ['a', 'b', 'c']
>>> a
'a'
>>> a,b,c = enumerate(['a', 'b', 'c'])
>>> a
(0, 'a')
# 元组
>>> a,b,c = ('a', 'b', 'c')
>>> a
'a'
# 字典
>>> a,b,c = {'a':1, 'b':2, 'c':3}
>>> a
'a'
>>> a,b,c = {'a':1, 'b':2, 'c':3}.items()
>>> a
('a', 1)
# 字符串
>>> a,b,c = 'abc'
>>> a
'a'
# 生成器
>>> a,b,c = (x + 1 for x in range(3))
>>> a
1
如果可迭代对象包含的元素和前面待赋值变量数量不一致,则会报错。但是可以通过*来表示多个元素
3.星号的使用
比如我们要计算平均分,去除最高分和最低分,除了用切片,还可以用解包的方式获得中间的数值
>>> first, *new, last = [94, 85, 73, 46]
>>> new
[85, 73]
用*来表示多个数值
你用python做过什么有趣的事情?
猜你喜欢
- 2024-10-12 python100例其一(python3 100例)
- 2024-10-12 吐血整理python最全习题100道(含答案)题目,建议收藏
- 2024-10-12 Python100道练习题!期末考试不用愁?!(附答案)
- 2024-10-12 值得苦练的100道Python经典练手题,(附详细答案)建议收藏
- 2024-10-12 9个Python编程小游戏,有趣又好玩,简直太棒了
- 2024-10-12 字节跳动大佬总结的Python必练100道真题 无偿分享
- 2024-10-12 Python100道练习真题(python 100题)
- 2024-10-12 10个python入门小游戏,零基础打通关,就能掌握编程基础
- 2024-10-12 python趣味编程(python趣味编程社团)
- 2024-10-12 值得编程小白苦练的100道Python经典练手题(附讲解)
你 发表评论:
欢迎- 06-24一个老爸画了超级有爱的365幅画 | 父亲节献礼
- 06-24产品小白看魏则西事件——用产品思维审视百度推广
- 06-24某教程学习笔记(一):13、脚本木马原理
- 06-24十大常见web漏洞——命令执行漏洞
- 06-24初涉内网,提权那些事(内网渗透提权)
- 06-24黑客命令第16集:47种最常见的**网站方法2/2
- 06-24铭说 | 一句话木马的多种变形方式
- 06-24Java隐藏的10倍效率技巧!90%程序员不知道的魔法方法(附代码)
- 最近发表
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)