Python是一种非常灵活和功能强大的编程语言,它的设计哲学强调代码的可读性和简洁性,使得它在世界范围内广受欢迎。Python有许多有趣且实用的特性,下面列出了一些好玩且可能不太为人所知的用法:
1. 列表推导式(List Comprehensions)
列表推导式是Python中一个非常强大且优雅的特性,它允许你用一行代码生成列表,使代码更加简洁。
# 生成0到9每个数字的平方
squares = [x**2 for x in range(10)]
print(squares)
2. 多重赋值与变量交换
Python允许在一行代码中进行多重赋值,同时也支持不使用临时变量来交换两个变量的值。
a, b = 5, 10
print(a, b) # 输出: 5 10
a, b = b, a # 交换变量
print(a, b) # 输出: 10 5
3. 使用
enumerate
函数迭代带有索引的序列
enumerate
是Python的内置函数,用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。
names = ['Alice', 'Bob', 'Charlie']
for index, name in enumerate(names, start=1):
print(index, name)
4. 字典推导式(Dictionary Comprehensions)
和列表推导式类似,字典推导式允许你以一种简洁的方式生成字典。
# 创建一个字典,其中键是0-9,值是该数字的平方
squares_dict = {x: x**2 for x in range(10)}
print(squares_dict)
5. 函数参数解包(Function Argument Unpacking)
如果你的参数已经是一个列表或元组,你可以使用
*
操作符来自动解包参数列表,或者使用
**
操作符解包字典作为关键字参数。
def point(x, y):
print(x, y)
coords = (3, 5)
point(*coords)
kwargs = {'x': 3, 'y': 5}
point(**kwargs)
6. 使用
_
忽略循环中的特定值
当你在循环或解包时不需要某个值,可以使用
_
作为一个占位符。
for _ in range(5