共计 681 个字符,预计需要花费 2 分钟才能阅读完成。
变量
变量解包
变量解包(unpacking)是 Python 的一种特殊赋值操作,允许把一个可迭代对象(比如列表)的所有成员,一次性赋值给多个变量。
# 普通解包
a, b, c = [1, 2, 3]
print(a, b, c) # 1 2 3
a, (b, c) = [1, [2, 3]]
print(a, b, c) # 1 2 3
# 动态解包
a, *b, c = [1, 2, 3, 4]
print(a, b, c) # 1 [2, 3] 4
# 也可在任何循环语句里使用
for a, b in [[1, 2], [3, 4]]:
print(a, b) # 1 2 3 4
单下划线变量名
单下划线变量名,常作为一个无意义的占位符出现在赋值语句中,是大家约定俗成的一种用法。如果想在解包赋值时忽略某些变量,就可以使用 _
作为变量名:
a, *_, b = [1, 2, 3, 4]
print(a, b) # 1 4
在 Python 交互式命令行里,_
变量还有一层特殊含义:默认保存上个表达式的返回值。
>>> 'abc'.upper()
'ABC'
>>> print(_)
ABC
数值与字符串
浮点数精度问题
Python 提供的内置模块 decimal,在做浮点数计算时不会损失任何精度。在使用 Decimal 的过程中,必须使用字符串来表示数字。
from decimal import Decimal
print(Decimal("0.1") + Decimal("0.2")) # 0.3
布尔值其实也是数字
布尔类型其实是整型的子类型,在绝大多数情况下,True 和 False 这两个布尔值可以直接当作 1 和 0 来使用。
numbers = [1, 2, 4, 5, 7]
count = sum(i % 2 == 0 for i in numbers)
print(count) # 2 个偶数
正文完