编程学习网 > 编程语言 > Python > Python教程:很强,14 常用的 python 小技巧!
2024
02-24

Python教程:很强,14 常用的 python 小技巧!

今天给大家分享 14 个非常有用的python小技巧。

1、三元运算符
三元运算符是 if-else 语句的简写。它是一个单行语句,可以替代多行 if-else 语句,使你的代码更加简洁。
a = 5 
b = 10 
max = a if a > b else b 
print(max)
#10
上面的语句检查变量 a 是否大于 b,如果为 true,则返回 a,如果为 false,则返回 b。
2、枚举函数
enumerate() 函数向可迭代对象添加一个计数器,并以枚举对象的形式返回它。当你想要迭代列表并跟踪索引时,此函数非常有用。
fruits = ['apple', 'banana', 'mango'] 
for index, fruit in enumerate(fruits): 
    print(index, fruit)

#0 apple
#1 banana
#2 mango
3、Zip 函数
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 函数是使用 lambda 关键字定义的匿名函数。当你需要编写小型一次性函数并且不想使用 def 关键字来定义命名函数时,它们非常有用。
add = lambda x, y: x + y 

result = add(3, 4)
print(result)
# 7
6、any() 和 all() 函数
any() 和 all() 函数根据可迭代中元素的真实性返回 True 或 False。
numbers = [1, 2, 3, 0, 4] 
result = any(numbers) #True 
result = all(numbers) # False. 0 is making it false

7、itertools
itertools 模块提供了一组与迭代器一起使用的函数,但并不广为人知。
import itertools 
numbers = [1, 2, 3] 
result = list(itertools.permutations(numbers)) 

#output all the permutations 
#[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

8、生成器
生成器是一种可迭代的类型,它即时生成值,而不是将它们存储在内存中。它们是使用 yield 关键字定义的,可用于创建自定义迭代器。
### Generators created using yield keyword 
def fibonacci_series(n):
    a, b = 0, 1
    for i in range(n):
        yield a
        a, b = b, a + b

# Driver code to check above generator function 
for number in fibonacci_series(10):
    print(number)
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))
#Running add
#add returned 12
#12
10、多重函数参数
在 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}
11、动态导入
你可以使用 importlib 模块动态导入模块。当你想要根据用户输入或配置导入模块时,这会很有用。
import importlib

module_name = 'math'
module = importlib.import_module(module_name)
result = module.sqrt(9)

12、字典推导式
字典推导式是一种从现有字典或任何可迭代对象创建字典的简洁方法。它是一个单行代码,可以替代 for 循环,使你的代码更加高效和可读。
squared_numbers = {x: x**2 for x in range(1, 6)}
print(squared_numbers)

#{1: 1, 2: 4, 3: 9, 4: 16, 5: 25} 
13、用下划线分隔大数字/字符
在 python 中可以添加下划线以使数字更具可读性。
num_test = 100_345_405 # this is the number

print(num_test)
## 100345405
14、快速合并2个字典
我们可以使用下面的代码在 Python 中快速合并 2 个字典。
dictionary_one = {"a": 1, "b": 2}
dictionary_two = {"c": 3, "d": 4}

merged = {**dictionary_one, **dictionary_two}
print(merged)  

# {'a': 1, 'b': 2, 'c': 3, 'd': 4}

以上就是Python教程:很强,14 常用的 python 小技巧!的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取