此刻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连接时,倘若全是真结果便是最后一个的值;倘若中间有假的值,结果便是第1个假的值
举一个例子
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做过什么有趣的事情?