python内置函数 L
Python 解释器内置了很多函数和类型,任何时候都能使用。
L
| 名称 | 描述 | 
|---|---|
| len | 返回对象的长度。 | 
| list | 返回一个新列表。 | 
| locals | 返回一个字典,表示当前局部符号表。 | 
len(s)
返回对象的长度(元素个数)。实参可以是序列(如 string、bytes、tuple、list 或 range 等)或集合(如 dictionary、set 或 frozen set 等)。
CPython 实现细节: len 对于大于 sys.maxsize 的长度如 range(2 ** 100) 会引发 OverflowError。
# 字符串
s = "Hello, world!"
print(len(s))  # 输出:13,因为字符串有13个字符# 元组
tup = (1, 'a', 3.14)
print(len(tup))  # 输出:3,因为元组有3个元素# 字典
dict_obj = {'a': 1, 'b': 2, 'c': 3}
print(len(dict_obj))  # 输出:3,因为字典有3个键值对# 不能用于非序列类型的对象,比如整数或浮点数。
num = 123
# print(len(num))  # 这会抛出 TypeError: object of type 'int' has no len()
print(len(str(num)))  # 输出:3,因为数字123有3位数
list
class list
class list(iterable)
- 将可迭代对象转换为列表:你可以使用 list()函数将一个可迭代对象(如元组、字符串、集合等)转换为一个列表。
- 创建空列表:当 list()函数没有参数时,它会创建一个空列表。
虽然被称为函数,list 实际上是一种可变序列类型,详情请参阅 列表 和 序列类型 — list, tuple, range。
# 创建空列表
lst = list() # lst = []
print(lst)  # 输出:[]# 元组转列表
tup = (1, 2, 3)
lst = list(tup)
print(lst)  # 输出:[1, 2, 3]# 集合转列表
set_obj = {1, 2, 3}
lst = list(set_obj)
print(lst)  # 输出:[1, 2, 3](注意:集合是无序的,所以列表中的元素顺序可能与集合中的不同)# 使用列表推导式创建一个包含 1 到 5 的列表
lst = [i for i in range(1, 6)]  
print(lst)  # 输出:[1, 2, 3, 4, 5]
locals()
locals() 是一个内置函数,它返回一个字典,表示当前局部符号表。这个字典映射了当前作用域中所有局部变量的名称到它们的值。
更新并返回表示当前本地符号表的字典。 在函数代码块但不是类代码块中调用 locals() 时将返回自由变量。 请注意在模块层级上,locals() 和 globals() 是同一个字典。
备注:不要更改此字典的内容;更改不会影响解释器使用的局部变量或自由变量的值。
def example_function():x = 10y = 20locals_dict = locals()print(locals_dict)  # 输出:{'x': 10, 'y': 20}example_function()
locals() 返回的字典是实时的,它反映了在调用 locals() 那一刻的局部变量状态。如果在调用 locals() 之后修改了局部变量的值,那么这些修改不会反映在 locals() 最初返回的字典中,除非你再次调用 locals()。
参考:内置函数 — Python 3.12.2 文档