🚀 掌握 Python 内置函数大全:从基础到进阶,一次性搞定!🐍✨

173 阅读9分钟

内置函数是Python语言中不可或缺的一部分,它们是语言核心的一部分,无需额外安装,随时可以使用。这些函数覆盖了从数据类型转换到数学运算、文件处理再到反射机制的方方面面。熟悉并掌握这些函数,不仅能帮助我们写出更简洁高效的代码,还能加深对Python语言特性的理解。

今天,我们就一步步深入,彻底掌握Python内置函数,帮助你在编程中如虎添翼!

3bfe627e-7999-477a-a9fb-3c5a787cae44.jpg


1. abs()

返回数字的绝对值。

语法:

abs(x)

示例:

print(abs(-5))   # 输出:5
print(abs(3.14))  # 输出:3.14

2. all()

检查可迭代对象中的所有元素是否都为真值。如果所有元素都为真值,则返回 True

语法:

all(iterable)

示例:

print(all([TrueTrueTrue]))   # 输出:True
print(all([TrueFalseTrue]))  # 输出:False

3. any()

检查可迭代对象中是否至少有一个元素为真值。如果存在,则返回 True

语法:

any(iterable)

示例:

print(any([FalseTrueFalse]))  # 输出:True
print(any([FalseFalseFalse]))  # 输出: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([656667])
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(34))  # 输出:(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(94))  # 输出:(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=Nonelocals=None)

示例:

expression = "3 * 5 + 2"
print(eval(expression))  # 输出:17

20. filter()

过滤可迭代对象,将符合条件的元素保留。

语法:

filter(function, iterable)

示例:

def is_even(x):
    return x % 2 == 0

numbers = [12345]
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([1234])
print(f)  # 输出:frozenset({1234})

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 = [1234]
for num in iter(my_list):
    print(num, end=" ")  # 输出:1 2 3 4

35. len()

返回可迭代对象(字符串、列表、字典等)的长度。

语法:

len(obj)

示例:

print(len([123]))  # 输出: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 = [1234]
squared = map(square, nums)

print(list(squared))  # 输出:[1, 4, 9, 16]

38. max()

返回可迭代对象中最大值。

语法:

max(iterable)

示例:

nums = [47295]
print(max(nums))  # 输出:9

39. min()

返回可迭代对象中最小值。

语法:

min(iterable)

示例:

nums = [47295]
print(min(nums))  # 输出:2

40. next()

返回迭器的下一个元素。

语法:

next(iteratordefault)

示例:

nums = [123]
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(23))  # 输出:8
print(pow(235))  # 输出: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(2102):
    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.141592))  # 输出:3.14
print(round(2.71828))     # 输出:3

50. set()

创建一个无序、不重复的元素集合。

语法:

s = set(iterable)

示例:

numbers = [12234]
unique_numbers = set(numbers)
print(unique_numbers)  # 输出:{1, 2, 3, 4}

51. slice()

创建切片对象,可用于切片操作。

语法:

s = slice(start, stop[, step])

示例:

data = [012345]
s = slice(25)
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))  # 输出:(123)

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 = [253035]

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 排版