文章插图
1.三元运算符
三元运算符是 if-else 语句的简写 。语法是value_if_true if condition else value_if_false 。三元运算符是一行代码,可以替代多行 if-else 语句,使你的代码更加简洁 。
a = 5
b = 10
max = a if a > b else b # value_if_true if condition else value_if_false
【16 个必知必会的 Python 教程】
print(max)
# 10
上面的代码通过检查“a”是否大于“b”,如果为真则返回“a”,如果为假则返回“b” 。
2.枚举函数
enumerate()函数向可迭代对象添加一个计数器,并以枚举对象的形式返回 。当你想要遍历列表并跟踪索引时,此函数很有用 。
fruits = ['Apple', 'banana', 'mango']
for index, fruit in enumerate(fruits):
print(index, fruit)
# 0 apple
# 1 banana
#2 mango
3. 压缩函数
zip()函数聚合来自每个可迭代对象的元素并返回一个元组迭代器 。当你想同时遍历两个或多个列表时,此函数很有用 。
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for x, y in zip(list1, list2):
print(x, y)
# 1 a
# 2 b
# 3 c
4. 列表生成式
列表生成式是一种从现有列表或任何可迭代对象创建列表的简洁方法 。这是一种可以替代 for 循环的单行代码,使你的代码更加高效,并使代码的可读性更强 。
squared_numbers = [x**2 for x in range(1, 6)]
print(squared_numbers)
# [1, 4, 9, 16, 25]
5. 匿名函数
Lambda 函数是使用lambda关键字定义的匿名函数 。当你需要编写一次性的小函数并且不想使用关键字def来定义命名函数时,它们很有用 。
add = lambda x, y: x + y
result = add(3, 4)
print(result)
# 7
6.any()和all()函数
any()函数和all()函数返回True或False基于 iterable 中元素的真实性 。如果 iterable 中的任何元素为真,则函数any()返回True,如果 iterable 中的所有元素都为真,则函数all()返回True 。
numbers = [1, 2, 3, 0, 4]
result = any(numbers) # True
result = all(numbers) # False 。0使结果为False
7. 迭代模块
itertools模块提供了一组函数来处理迭代器 。该模块中的函数包括chain、product和permutations 。
import itertools
numbers = [1, 2, 3]
result = list(itertools.permutations(numbers))
# 输出所有排列组合
# [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
8. 生成器
生成器是一种可迭代的类型,它可以即时生成值,而不是将它们存储在内存中 。它是使用yield关键字定义的,用于创建自定义迭代器 。
# 使用yield关键字创建生成器
def fibonacci_series(n):
a, b = 0, 1
for i in range(n):
yield a
a, b = b, a + b
# 输出迭代器中的值
for number in fibonacci_series(10):
print(number)
# 0
# 1
# 1
# 2
# 3
# 5
# 8
# 13
# 21
# 34
9.装饰器
装饰器是一种修改函数或类行为的方法 。使用@符号进行定义,可用于向函数添加功能,例如日志记录、计时或身份验证 。
def log_function(func):
def wrapper(*args, **kwargs):
print(f'Running {func.__name__}')
result = func(*args, **kwargs)
print(f'{func.__name__} returned {result}')
return result
return wrapper
@log_function
def add(x, y):
return x + y
print(add(5,7))
# 运行add函数,返回值为12
10. 使用多个函数参数
在 Python/ target=_blank class=infotextkey>Python 中,可以使用*和**运算符来处理多个函数参数 。*运算符用于将参数列表作为单独的位置参数进行传递,运算符**用于传递关键字参数的字典 。
def print_arguments(*args, **kwargs):
print(args)
print(kwargs)
print_arguments(1, 2, 3, name='John', age=30)
# (1, 2, 3)
# {'name': 'John', 'age': 30}
推荐阅读
- 盲山|《盲山》这部戏揭示了社会的黑暗,提醒广大女性朋友找工作要当心
- 靠什么赚钱(公交公司靠什么赚钱)
- 吆西是什么意思(八嘎是什么意思)
- 包贝尔|包贝尔晒合照辟谣,称夜会的美女是包文婧,发型身高却露了馅
- 手把手教你开发一套代码生成器,学不会的来怼我!
- 关于机会的唯美句子 给人机会的精辟句子
- 机会藏在努力里作文 论机会的作文
- 甄子丹|在北京开会的这些明星都是什么身份?甄子丹略显拘谨
- 面部10处恶痣 男人面相学
- 梦幻水陆大会的简单介绍