Python特殊骚操作高级用法

152次阅读
没有评论

共计 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 个偶数

正文完
 0
三毛笔记
版权声明:本站原创文章,由 三毛笔记 于2025-01-24发表,共计681字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)