内置函数是Python语言中不可或缺的一部分,它们是语言核心的一部分,无需额外安装,随时可以使用。这些函数覆盖了从数据类型转换到数学运算、文件处理再到反射机制的方方面面。熟悉并掌握这些函数,不仅能帮助我们写出更简洁高效的代码,还能加深对Python语言特性的理解。
今天,我们就一步步深入,彻底掌握Python内置函数,帮助你在编程中如虎添翼!
1. abs()
返回数字的绝对值。
语法:
abs(x)
示例:
print(abs(-5)) # 输出:5
print(abs(3.14)) # 输出:3.14
2. all()
检查可迭代对象中的所有元素是否都为真值。如果所有元素都为真值,则返回 True。
语法:
all(iterable)
示例:
print(all([True, True, True])) # 输出:True
print(all([True, False, True])) # 输出:False
3. any()
检查可迭代对象中是否至少有一个元素为真值。如果存在,则返回 True。
语法:
any(iterable)
示例:
print(any([False, True, False])) # 输出:True
print(any([False, False, False])) # 输出:False
4. ascii()
返回一个字符串,包含非 ASCII 字符的转义表示。
语法:
ascii(object)
示例:
print(ascii("你好")) # 输出:'\u4f60\u597d'
5. bin()
将一个整数转换为二进制字符串。
语法:
bin(x)
示例:
print(bin(10)) # 输出:'0b1010'
6. bool()
将值转换为布尔值。0、空字符串、空列表等为 False,其他为 True。
语法:
bool(x)
示例:
print(bool(0)) # 输出:False
print(bool(1)) # 输出:True
print(bool("")) # 输出:False
print(bool("Python")) # 输出:True
7. bytearray()
返回一个可变的字节数组。
语法:
bytearray([source])
示例:
b = bytearray([65, 66, 67])
print(b) # 输出:bytearray(b'ABC')
8. bytes()
返回不可变的字节对象。
语法:
bytes([source])
示例:
b = bytes([65, 66, 67])
print(b) # 输出:b'ABC'
9. callable()
检查对象是否可调用(是否可以像函数一样调用)。
语法:
callable(object)
示例:
def sample_function():
pass
print(callable(sample_function)) # 输出:True
print(callable(5)) # 输出:False
10. chr()
将整数转换为对应的字符。
语法:
chr(x)
示例:
print(chr(65)) # 输出:'A'
11. classmethod()
将一个方法标记为类方法。通常在类定义中使用。
示例:
class MyClass:
@classmethod
def class_method(cls):
print("This is a class method.")
MyClass.class_method() # 输出:This is a class method.
12. compile()
将字符串、字节或 AST 转换为可执行代码对象。
语法:
compile(source, filename, mode)
示例:
code = compile('3 + 5', '<string>', 'eval')
print(eval(code)) # 输出:8
13. complex()
将实数和虚数表示为复数。
语法:
complex(x, y)
示例:
print(complex(3, 4)) # 输出:(3+4j)
14. delattr()
删除对象的属性。
语法:
delattr(object, name)
示例:
class Sample:
attr = 10
obj = Sample()
print(obj.attr) # 输出:10
delattr(obj, 'attr')
try:
print(obj.attr)
except AttributeError:
print("Attribute no longer exists.") # 输出:Attribute no longer exists.
15. dict()
创建一个字典。
语法:
d = dict([('key', 'value')])
示例:
my_dict = dict(name="Alice", age=25)
print(my_dict) # 输出:{'name': 'Alice', 'age': 25}
16. dir()
返回对象的属性和方法列表。
语法:
dir(object)
示例:
print(dir([1, 2, 3])) # 输出:包括列表的方法和属性,如 '__add__', '__class__' 等。
17. divmod()
计算两个数的商和余数。
语法:
divmod(x, y)
示例:
print(divmod(9, 4)) # 输出:(2, 1)
18. enumerate()
对可迭代对象进行索引迭代。
语法:
for index, value in enumerate(iterable):
示例:
for i, item in enumerate(['a', 'b', 'c']):
print(i, item)
输出:
0 a
1 b
2 c
19. eval()
执行字符串表达式并返回结果。
语法:
eval(expression, globals=None, locals=None)
示例:
expression = "3 * 5 + 2"
print(eval(expression)) # 输出:17
20. filter()
过滤可迭代对象,将符合条件的元素保留。
语法:
filter(function, iterable)
示例:
def is_even(x):
return x % 2 == 0
numbers = [1, 2, 3, 4, 5]
even_numbers = filter(is_even, numbers)
print(list(even_numbers)) # 输出:[2, 4]
21. float()
将数字或字符串转换为浮点数。
语法:
float(x)
示例:
print(float(5)) # 输出:5.0
print(float("3.14")) # 输出:3.14
22. format()
格式化字符串,可以插入变量并指定格式。
语法:
"{}".format(value)
示例:
name = "Alice"
age = 25
print("Name: {}, Age: {}".format(name, age)) # 输出:Name: Alice, Age: 25
23. frozenset()
创建不可变的集合。
语法:
frozenset(iterable)
示例:
f = frozenset([1, 2, 3, 4])
print(f) # 输出:frozenset({1, 2, 3, 4})
24. getattr()
获取对象属性,如果属性不存在,则返回默认值。
语法:
getattr(object, name, default)
示例:
class Sample:
value = 42
obj = Sample()
print(getattr(obj, 'value')) # 输出:42
print(getattr(obj, 'nonexistent', 'Not Found')) # 输出:Not Found
25. hasattr()
检查对象是否拥有指定属性。
语法:
hasattr(object, name)
示例:
class Sample:
value = 42
obj = Sample()
print(hasattr(obj, 'value')) # 输出:True
print(hasattr(obj, 'nonexistent')) # 输出:False
26. hash()
返回对象的哈希值。
语法:
hash(x)
示例:
print(hash("hello")) # 输出:字符串的哈希值
print(hash(42)) # 输出:42的哈希值
27. help()
提供关于模块、类、方法、函数等的文档帮助。
示例:
help(str) # 输出字符串相关的方法和属性。
28. hex()
将整数转换为十六进制字符串。
语法:
hex(x)
示例:
print(hex(255)) # 输出:'0xff'
29. id()
返回对象的唯一标识符(内存地址)。
语法:
id(object)
示例:
x = 42
print(id(x)) # 输出:x对象的内存地址
30. input()
从控制台读取用户输入。
语法:
name = input("Enter your name: ")
示例:
name = input("What's your name? ")
print("Hello, " + name + "!")
31. int()
将数字、字符串转换为整数。
语法:
int(x)
示例:
print(int(3.14)) # 输出:3
print(int("42")) # 输出:42
32. isinstance()
检查对象是否是指定数据类型。
语法:
isinstance(object, classinfo)
示例:
x = 5
print(isinstance(x, int)) # 输出:True
name = "Alice"
print(isinstance(name, str)) # 输出:True
33. issubclass()
检查一个类是否是另一个类的子类。
语法:
issubclass(class, classinfo)
示例:
class Parent:
pass
class Child(Parent):
pass
print(issubclass(Child, Parent)) # 输出:True
34. iter()
返回可迭代对象的迭器。
语法:
iter(iterable)
示例:
my_list = [1, 2, 3, 4]
for num in iter(my_list):
print(num, end=" ") # 输出:1 2 3 4
35. len()
返回可迭代对象(字符串、列表、字典等)的长度。
语法:
len(obj)
示例:
print(len([1, 2, 3])) # 输出:3
print(len("hello")) # 输出:5
36. list()
将可迭代对象转换为列表。
语法:
list(iterable)
示例:
print(list("abc")) # 输出:['a', 'b', 'c']
print(list(range(3))) # 输出:[0, 1, 2]
37. map()
对可迭代对象中的每个元素应用指定函数。
语法:
map(function, iterable)
示例:
def square(x):
return x ** 2
nums = [1, 2, 3, 4]
squared = map(square, nums)
print(list(squared)) # 输出:[1, 4, 9, 16]
38. max()
返回可迭代对象中最大值。
语法:
max(iterable)
示例:
nums = [4, 7, 2, 9, 5]
print(max(nums)) # 输出:9
39. min()
返回可迭代对象中最小值。
语法:
min(iterable)
示例:
nums = [4, 7, 2, 9, 5]
print(min(nums)) # 输出:2
40. next()
返回迭器的下一个元素。
语法:
next(iterator, default)
示例:
nums = [1, 2, 3]
iter_nums = iter(nums)
print(next(iter_nums)) # 输出:1
print(next(iter_nums)) # 输出:2
print(next(iter_nums)) # 输出:3
try:
print(next(iter_nums)) # 输出:抛出 StopIteration 异常
except StopIteration:
print("No more elements.")
41. object()
创建一个新的、空的对象实例。
语法:
obj = object()
示例:
obj = object()
print(obj) # 输出:<object object at memory_address>
42. oct()
将一个整数转换为八进制字符串。
语法:
oct(x)
示例:
num = 64
print(oct(num)) # 输出:'0o100'
43. open()
打开文件并返回文件对象。
语法:
file = open('filename', 'mode')
示例:
# 写入文件
with open('example.txt', 'w') as f:
f.write('Hello, Python!')
# 读取文件
with open('example.txt', 'r') as f:
content = f.read()
print(content) # 输出:Hello, Python!
44. ord()
返回字符串中字符的 Unicode 编码。
语法:
ord(char)
示例:
print(ord('A')) # 输出:65
print(ord('a')) # 输出:97
45. pow()
计算幂次运算:x**y。
语法:
pow(x, y[, z])
示例:
print(pow(2, 3)) # 输出:8
print(pow(2, 3, 5)) # 输出:3 (计算 `(2**3) % 5`)
46. print()
将指定内容输出到控制台。
语法:
print(*objects, sep=' ', end='\n')
示例:
print("Hello, World!") # 输出:Hello, World!
print(1, 2, 3, sep=', ') # 输出:1, 2, 3
47. range()
生成一个可迭代的数字序列。
语法:
range([start], stop[, step])
示例:
# 生成从 0 到 4 的数字序列
for i in range(5):
print(i, end=' ') # 输出:0 1 2 3 4
print()
# 使用 start 和 step 参数
for i in range(2, 10, 2):
print(i, end=' ') # 输出:2 4 6 8
48. repr()
返回一个对象的字符串表示,通常更接近官方字符串表示。
语法:
repr(object)
示例:
text = "Hello"
print(repr(text)) # 输出:'Hello'
49. round()
对浮点数进行四舍五入。
语法:
round(number[, ndigits])
示例:
print(round(3.14159, 2)) # 输出:3.14
print(round(2.71828)) # 输出:3
50. set()
创建一个无序、不重复的元素集合。
语法:
s = set(iterable)
示例:
numbers = [1, 2, 2, 3, 4]
unique_numbers = set(numbers)
print(unique_numbers) # 输出:{1, 2, 3, 4}
51. slice()
创建切片对象,可用于切片操作。
语法:
s = slice(start, stop[, step])
示例:
data = [0, 1, 2, 3, 4, 5]
s = slice(2, 5)
print(data[s]) # 输出:[2, 3, 4]
52. sorted()
对可迭代对象进行排序。
语法:
sorted(iterable, key=None, reverse=False)
示例:
nums = [5, 2, 9, 1, 4]
print(sorted(nums)) # 输出:[1, 2, 4, 5, 9]
53. str()
将对象转换为字符串。
语法:
str(object)
示例:
num = 123
print(str(num)) # 输出:'123'
54. sum()
求可迭代对象中元素的总和。
语法:
sum(iterable, start)
示例:
numbers = [1, 2, 3, 4, 5]
print(sum(numbers)) # 输出:15
55. super()
调用父类的方法。
语法:
super().method_name()
示例:
class Parent:
def speak(self):
print("I am a parent.")
class Child(Parent):
def speak(self):
super().speak()
print("I am a child.")
child = Child()
child.speak()
# 输出:
# I am a parent.
# I am a child.
56. tuple()
将可迭代对象转换为元组。
语法:
tuple(iterable)
示例:
numbers = [1, 2, 3]
print(tuple(numbers)) # 输出:(1, 2, 3)
57. type()
返回对象的数据类型。
语法:
type(object)
示例:
print(type(42)) # 输出:<class 'int'>
print(type([1, 2, 3])) # 输出:<class 'list'>
58. vars()
返回对象的属性字典。
语法:
vars(object)
示例:
class Sample:
def __init__(self):
self.name = "Alice"
self.age = 30
obj = Sample()
print(vars(obj)) # 输出:{'name': 'Alice', 'age': 30}
59. zip()
将多个可迭代对象打包成元组。
语法:
zip(*iterables)
示例:
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"{name} is {age} years old.")
# 输出:
# Alice is 25 years old.
# Bob is 30 years old.
# Charlie is 35 years old.
60. __import__()
动态导入模块。
语法:
module = __import__('module_name')
示例:
math = __import__('math')
print(math.sqrt(16)) # 输出:4.0
结尾总结
今天我们总结了Python中的常用内置函数。这些函数不仅提升了编程的便利性,也能帮助我们编写更高效、优雅的代码。学习和熟练使用这些内置函数,能够大大减少开发时间,提升代码的可读性。强烈建议大家在实际项目中多加实践,用这些工具简化复杂的任务,同时提升自身的Python技能!
希望这篇文章能为你提供帮助,记得点赞收藏分享,让更多人一起学习吧!
本文使用 markdown.com.cn 排版