16 个必知必会的 Python 教程( 二 )


 
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 中,任何可以称为函数的对象都称为可调用对象,包括函数、方法、类,甚至是定义__call__方法的对象 。
 
class Adder:
def __call__(self, x, y):
return x + y
 
adder = Adder()
result = adder(3, 4)
 
print(result)
#7
 
14.用下划线分隔大数字/字符
大数字很难一眼看出来是多大,在 Python 中可以用下划线来使数字更易读 。
 
num_test = 100_345_405 # 一个大数字
 
print(num_test)
# 100345405
 
15.快速合并两个字典
可以使用以下代码在 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}
 
16. 列表、集合和字典是可变的
可变意味着可以更改或更新对象(列表、集合或字典),而无需更改内存中对象的指针 。实际效果可见如下示例 。
 
在下面的示例中,通过添加一个新城市来更新城市列表,可以看到 ID(对象指针)保持不变,集合和字典也是如此 。
 
cities = [Munich, Zurich, London]
print(id(cities)) # 2797174365184
cities.append(Berlin)
print(id(cities)) # 2797174365184
# 集合
 
my_set = {1, 2, 3}
print(id(my_set)) # 2797172976992
my_set.add(4)
print(id(my_set)) # 2797172976992
# 字典
 
thisdict = {
brand: Ford,
model: Mustang,
year: 1964
}
print(id(thisdict)) #2797174128256
thisdict[engine] = 2500cc
print(id(thisdict)) #2797174128256




推荐阅读