Python 内置函数提供了强大的工具,涵盖数据处理、数学运算、迭代控制、类型转换等。本文总结了 100 个常用内置函数,并配备示例代码,提高编程效率。
- abs() 取绝对值
python
print(abs(-10)) # 10
- all() 判断所有元素是否为真
python
print(all([True, 1, "hello"])) # True
print(all([True, 0, "hello"])) # False
- any() 判断任意元素是否为真
python
print(any([False, 0, "", None])) # False
print(any([False, 1, ""])) # True
- ascii() 返回对象的 ASCII 表示
python
print(ascii("你好")) # '\u4f60\u597d'
- bin() 十进制转二进制
python
print(bin(10)) # '0b1010'
- bool() 转换为布尔值
python
print(bool([])) # False
print(bool(1)) # True
- bytearray() 创建字节数组
python
ba = bytearray([65, 66, 67])
print(ba) # bytearray(b'ABC')
- bytes() 创建不可变字节序列
python
b = bytes("hello", encoding="utf-8")
print(b) # b'hello'
- callable() 判断对象是否可调用
python
def func(): pass
print(callable(func)) # True
print(callable(10)) # False
- chr() 获取 Unicode 码对应的字符
python
print(chr(97)) # 'a'
- ord() 获取字符的 Unicode 编码
python
print(ord('a')) # 97
- complex() 创建复数
python
print(complex(1, 2)) # (1+2j)
- dict() 创建字典
python
d = dict(name="Alice", age=25)
print(d) # {'name': 'Alice', 'age': 25}
- dir() 获取对象所有属性和方法
python
print(dir([])) # ['append', 'clear', 'copy', ...]
- divmod() 取商和余数
python
print(divmod(10, 3)) # (3, 1)
- enumerate() 生成索引和值
python
lst = ["a", "b", "c"]
for i, v in enumerate(lst):
print(i, v)
- eval() 计算字符串表达式
python
expr = "3 + 4"
print(eval(expr)) # 7
- filter() 过滤序列
python
nums = [1, 2, 3, 4, 5]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums) # [2, 4]
- float() 转换为浮点数
python
print(float("3.14")) # 3.14
- format() 格式化字符串
python
print(format(10000, ",")) # '10,000'
21. frozenset() 创建不可变集合
fs = frozenset([1, 2, 3])
print(fs)
- globals() 获取全局变量
python
print(globals())
- hasattr() 检查对象是否有属性
python
class Person:
name = "Alice"print(hasattr(Person, "name")) # True
- hash() 获取哈希值
python
print(hash("hello"))
- help() 查看帮助
python
help(print)
- hex() 十进制转十六进制
python
print(hex(255)) # '0xff'
- id() 获取对象的唯一标识符
python
a = 10
print(id(a))
- input() 获取用户输入
python
name = input("请输入你的名字: ")
print("你好, " + name)
- int() 转换为整数
python
print(int("123")) # 123
- isinstance() 检查对象类型
python
print(isinstance(123, int)) # True
- issubclass() 检查是否是子类
python
class A: pass
class B(A): pass
print(issubclass(B, A)) # True
- iter() 获取迭代器
python
lst = [1, 2, 3]
it = iter(lst)
print(next(it)) # 1
- len() 获取长度
python
print(len([1, 2, 3])) # 3
- list() 创建列表
python
print(list("hello")) # ['h', 'e', 'l', 'l', 'o']
- locals() 获取局部变量
python
def func():
a = 10
print(locals())
func()
- map() 对序列中的每个元素进行操作
python
nums = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, nums))
print(squared) # [1, 4, 9, 16]
- max() 返回最大值
python
print(max([10, 20, 5])) # 20
print(max("python")) # 'y'
- min() 返回最小值
python
print(min([10, 20, 5])) # 5
print(min("python")) # 'h'
- next() 获取迭代器的下一个元素
python
it = iter([10, 20, 30])
print(next(it)) # 10
print(next(it)) # 20
- object() 创建一个新对象
python
obj = object()
print(obj) # <object object at 0x...>
- oct() 十进制转八进制
python
print(oct(10)) # '0o12'
- open() 打开文件
python
with open("test.txt", "w") as f:
f.write("Hello, Python!")
- pow() 计算指数幂
python
print(pow(2, 3)) # 8
print(pow(2, 3, 5)) # (2^3) % 5 = 3
- print() 打印输出
python
print("Hello", "Python", sep="-") # Hello-Python
- range() 生成范围序列
python
print(list(range(1, 10, 2))) # [1, 3, 5, 7, 9]
- repr() 返回对象的字符串表示
python
print(repr("Hello\nWorld")) # "'Hello\\nWorld'"
- reversed() 反转序列
python
print(list(reversed([1, 2, 3, 4]))) # [4, 3, 2, 1]
- round() 四舍五入
python
print(round(3.14159, 2)) # 3.14
- set() 创建集合
python
print(set([1, 2, 2, 3])) # {1, 2, 3}
- setattr() 设置对象属性
python
class Person:
pass
p = Person()
setattr(p, "age", 25)
print(p.age) # 25
- slice() 创建切片对象
python
lst = [10, 20, 30, 40]
s = slice(1, 3)
print(lst[s]) # [20, 30]
- sorted() 排序
python
print(sorted([3, 1, 4, 2])) # [1, 2, 3, 4]
print(sorted("python")) # ['h', 'n', 'o', 'p', 't', 'y']
- staticmethod() 定义静态方法
python
class Math:
@staticmethod
def add(x, y):
return x + yprint(Math.add(3, 4)) # 7
- str() 转换为字符串
python
print(str(123)) # '123'
print(str([1, 2, 3])) # '[1, 2, 3]'
- sum() 计算总和
python
print(sum([1, 2, 3, 4])) # 10
- super() 调用父类方法
python
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
super().greet()
print("Hello from Child")
c = Child()
c.greet()
- tuple() 创建元组
python
print(tuple([1, 2, 3])) # (1, 2, 3)
- type() 获取对象类型
python
print(type(123)) # <class 'int'>
- vars() 获取对象的 dict 属性
python
class Person:
def __init__(self, name, age):
self.name = name
self.age = agep = Person("Alice", 25)
print(vars(p)) # {'name': 'Alice', 'age': 25}
- zip() 合并多个可迭代对象
python
names = ["Alice", "Bob"]
ages = [25, 30]
print(list(zip(names, ages))) # [('Alice', 25), ('Bob', 30)]
- import() 动态导入模块
python
math_module = __import__("math")
print(math_module.sqrt(16)) # 4.0
- delattr() 删除对象的属性
python
class Person:
age = 25
delattr(Person, "age")
print(hasattr(Person, "age")) # False
- exec() 执行字符串代码
python
code = "x = 10\ny = 20\nprint(x + y)"
exec(code) # 30
- memoryview() 创建内存视图对象
python
b = bytearray("hello", "utf-8")
mv = memoryview(b)
print(mv[0]) # 104
- round() 取整
python
print(round(4.567, 2)) # 4.57
- breakpoint() 设置调试断点
python
x = 10
breakpoint() # 进入调试模式
print(x)
- classmethod() 定义类方法
python
class Person:
name = "Unknown"
@classmethod
def set_name(cls, name):
cls.name = namePerson.set_name("Alice")
print(Person.name) # Alice
- compile() 编译字符串为代码对象
python
code = "print('Hello, World!')"
compiled_code = compile(code, '<string>', 'exec')
exec(compiled_code) # Hello, World!
- complex() 创建复数
python
c = complex(3, 4)
print(c) # (3+4j)
- del 删除对象
python
x = 10
del x
# print(x) # NameError: name 'x' is not defined
- ellipsis 省略号对象
python
def func():
...
print(func()) # None
- float.fromhex() 将十六进制转换为浮点数
python
print(float.fromhex('0x1.8p3')) # 12.0
- format_map() 使用映射对象格式化字符串
python
class Person:
age = 25
print(getattr(Person, "age")) # 25
- getattr() 获取对象属性
python
class Person:
age = 25
print(getattr(Person, "age")) # 25
- is 判断是否是同一个对象
python
a = [1, 2, 3]
b = a
print(a is b) # True
- issubclass() 判断是否是子类
python
class A: pass
class B(A): passprint(issubclass(B, A)) # True
- iter() 创建迭代器
python
lst = [1, 2, 3]
it = iter(lst)
print(next(it)) # 1
- len() 获取长度
python
print(len([1, 2, 3])) # 3
- memoryview() 创建内存视图
python
b = bytearray("hello", "utf-8")
mv = memoryview(b)
print(mv[0]) # 104
- object() 创建基础对象
python
obj = object()
print(obj)
- print(*objects, sep, end, file, flush) 高级用法
python
print("Hello", "World", sep="-", end="!") # Hello-World!
- property() 创建只读属性
python
class Person:
def __init__(self, name):
self._name = name
@property
def name(self):
return self._namep = Person("Alice")
print(p.name) # Alice
- repr() 返回字符串表示
python
print(repr("Hello\nWorld")) # 'Hello\nWorld'
- round() 四舍五入
python
print(round(4.567, 2)) # 4.57
- set() 创建集合
python
s = set([1, 2, 3, 3])
print(s) # {1, 2, 3}
- setattr() 设置对象属性
python
class Person:
pass
p = Person()
setattr(p, "age", 30)
print(p.age) # 30
- slice() 创建切片对象
python
lst = [10, 20, 30, 40]
s = slice(1, 3)
print(lst[s]) # [20, 30]
- sorted() 排序
python
print(sorted([3, 1, 4, 2])) # [1, 2, 3, 4]
- staticmethod() 定义静态方法
python
class Math:
@staticmethod
def add(x, y):
return x + yprint(Math.add(3, 4)) # 7
- sum() 计算总和
python
print(sum([1, 2, 3, 4])) # 10
- super() 调用父类方法
python
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
super().greet()
print("Hello from Child")
c = Child()
c.greet()
- tuple() 创建元组
python
print(tuple([1, 2, 3])) # (1, 2, 3)
- type() 获取对象类型
python
print(type(123)) # <class 'int'>
- vars() 获取对象属性字典
python
class Person:
def __init__(self, name, age):
self.name = name
self.age = agep = Person("Alice", 25)
print(vars(p)) # {'name': 'Alice', 'age': 25}
- zip() 压缩多个可迭代对象
python
names = ["Alice", "Bob"]
ages = [25, 30]
print(list(zip(names, ages))) # [('Alice', 25), ('Bob', 30)]
- callable() 检测对象是否可调用
python
def foo():
pass
print(callable(foo)) # True
- bin() 转换为二进制
python
print(bin(10)) # '0b1010'
- hex() 转换为十六进制
python
print(hex(255)) # '0xff'
- oct() 转换为八进制
python
print(oct(8)) # '0o10'