Python内置函数详解_python 常用内置函数

前言

Python是一门功能强大的编程语言,其内置函数为我们提供了丰富的工具,帮助我们更高效地编写代码。

知识图谱


目录

  1. 1. 数学和数值函数
  2. 2. 序列和迭代函数
  3. 3. 类型转换函数
  4. 4. 对象和类相关函数
  5. 5. 输入输出函数
  6. 6. 其他常用函数
  7. 7. 学习路线
  8. 8. 学习总结

数学和数值函数

abs()

功能

返回一个数字的绝对值。

语法

abs(x)

参数

  • o x: 数字(整数、浮点数或复数)

返回值

  • o 数字 x 的绝对值。

示例

print(abs(-10))  # 输出: 10
print(abs(3.14)) # 输出: 3.14
print(abs(1+2j)) # 输出: 2.23606797749979

max()

功能

返回可迭代对象中最大的元素,或者返回两个及以上实参中最大的。

语法

max(iterable, *[, key, default])
max(arg1, arg2, *args[, key])

参数

  • o iterable: 可迭代对象。
  • o arg1, arg2, ...: 任意数量的参数。
  • o key: 用于比较的函数。
  • o default: 如果可迭代对象为空时返回的值。

返回值

  • o 最大的元素。

示例

numbers = [1, 2, 3, 4, 5]
print(max(numbers))  # 输出: 5

print(max(1, 2, 3))  # 输出: 3

print(max([], default=0))  # 输出: 0

min()

功能

返回可迭代对象中最小的元素,或者返回两个及以上实参中最小的。

语法

min(iterable, *[, key, default])
min(arg1, arg2, *args[, key])

参数

  • o iterable: 可迭代对象。
  • o arg1, arg2, ...: 任意数量的参数。
  • o key: 用于比较的函数。
  • o default: 如果可迭代对象为空时返回的值。

返回值

  • o 最小的元素。

示例

numbers = [1, 2, 3, 4, 5]
print(min(numbers))  # 输出: 1

print(min(1, 2, 3))  # 输出: 1

print(min([], default=10))  # 输出: 10

pow()

功能

返回 baseexp 次幂;如果 mod 存在,则返回 baseexp 次幂对 mod 取余。

语法

pow(base, exp[, mod])

参数

  • o base: 底数。
  • o exp: 指数。
  • o mod: 可选,模数。

返回值

  • o baseexp 次幂,或 baseexp 次幂对 mod 取余。

示例

print(pow(2, 3))       # 输出: 8
print(pow(2, 3, 5))    # 输出: 3
print(pow(38, -1, 97)) # 输出: 23

序列和迭代函数

enumerate()

功能

返回一个枚举对象,包含计数器和可迭代对象的值。

语法

enumerate(iterable, start=0)

参数

  • o iterable: 可迭代对象。
  • o start: 计数器起始值。

返回值

  • o 枚举对象。

示例

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits, start=1):
    print(f"{index}: {fruit}")

filter()

功能

使用可迭代对象中函数返回真值的元素构造一个迭代器。

语法

filter(function, iterable)

参数

  • o function: 判断函数。
  • o iterable: 可迭代对象。

返回值

  • o 过滤后的迭代器。

示例

numbers = [1, 2, 3, 4, 5]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))  # 输出: [2, 4]

map()

功能

将函数应用于可迭代对象的每一项,并产生其结果的迭代器。

语法

map(function, iterable, ...)

参数

  • o function: 应用的函数。
  • o iterable: 一个或多个可迭代对象。

返回值

  • o 映射后的迭代器。

示例

numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x ** 2, numbers)
print(list(squared))  # 输出: [1, 4, 9, 16, 25]

sorted()

功能

根据可迭代对象中的项返回一个新的已排序列表。

语法

sorted(iterable, *, key=None, reverse=False)

参数

  • o iterable: 可迭代对象。
  • o key: 用于比较的函数。
  • o reverse: 是否降序排列。

返回值

  • o 排序后的新列表。

示例

words = ['banana', 'Apple', 'cherry']
sorted_words = sorted(words, key=str.lower)
print(sorted_words)  # 输出: ['Apple', 'banana', 'cherry']

类型和转换函数

ascii()

功能

返回一个包含对象的可打印表示形式的字符串,使用转义字符表示非ASCII字符。

语法

ascii(object)

参数

  • o object: 任意对象。

返回值

  • o 字符串。

示例

print(ascii("Hello, 世界"))  # 输出: 'Hello, \\u4e16\\u754c'

bin()

功能

将一个整数转换为带前缀 "0b" 的二进制数字符串。

语法

bin(x)

参数

  • o x: 整数。

返回值

  • o 二进制字符串。

示例

print(bin(10))  # 输出: '0b1010'

bool()

功能

返回布尔值,即 TrueFalse

语法

bool(object)

参数

  • o object: 任意对象。

返回值

  • o 布尔值。

示例

print(bool(0))    # 输出: False
print(bool(" "))  # 输出: True

chr()

功能

返回Unicode码位为整数 i 的字符的字符串格式。

语法

chr(i)

参数

  • o i: 整数(0 到 1,114,111)。

返回值

  • o 字符串。

示例

print(chr(65))  # 输出: 'A'
print(chr(97))  # 输出: 'a'

float()

功能

返回基于一个数字或字符串构建的浮点数。

语法

float([x])

参数

  • o x: 数字或字符串。

返回值

  • o 浮点数。

示例

print(float(10))    # 输出: 10.0
print(float("3.14")) # 输出: 3.14

int()

功能

返回从一个数字或字符串构建的整数对象。

语法

int([x], base=10)

参数

  • o x: 数字或字符串。
  • o base: 进制(默认为10)。

返回值

  • o 整数。

示例

print(int(10.5))    # 输出: 10
print(int("100", 2)) # 输出: 4

str()

功能

返回一个 str 版本的 object

语法

str(object='')

参数

  • o object: 任意对象。

返回值

  • o 字符串。

示例

print(str(123))    # 输出: '123'
print(str(123.45)) # 输出: '123.45'

对象和类相关函数

getattr()

功能

获取对象指定名称的属性值。

语法

getattr(object, name[, default])

参数

  • o object: 对象。
  • o name: 属性名称。
  • o default: 可选,默认值。

返回值

  • o 属性值或默认值。

示例

class MyClass:
    def __init__(self):
        self.name = "Alice"

obj = MyClass()
print(getattr(obj, "name"))  # 输出: Alice
print(getattr(obj, "age", 30)) # 输出: 30

setattr()

功能

设置对象指定名称的属性值。

语法

setattr(object, name, value)

参数

  • o object: 对象。
  • o name: 属性名称。
  • o value: 属性值。

返回值

  • o 无。

示例

class MyClass:
    pass

obj = MyClass()
setattr(obj, "name", "Bob")
print(obj.name)  # 输出: Bob

isinstance()

功能

检查对象是否是指定类的实例。

语法

isinstance(object, classinfo)

参数

  • o object: 对象。
  • o classinfo: 类或类的元组。

返回值

  • o 布尔值。

示例

class Animal:
    pass

class Dog(Animal):
    pass

dog = Dog()
print(isinstance(dog, Dog))    # 输出: True
print(isinstance(dog, Animal)) # 输出: True

type()

功能

返回对象的类型。

语法

type(object)
type(name, bases, dict)

参数

  • o object: 对象。
  • o name: 类名。
  • o bases: 基类元组。
  • o dict: 类体属性和方法定义。

返回值

  • o 类型对象。

示例

print(type(123))       # 输出: <class 'int'>
print(type("Hello"))   # 输出: <class 'str'>

class MyClass:
    pass

print(type(MyClass))   # 输出: <class 'type'>

输入输出函数

input()

功能

从标准输入读取一行,并返回字符串。

语法

input([prompt])

参数

  • o prompt: 可选,提示信息。

返回值

  • o 字符串。

示例

name = input("请输入你的名字: ")
print(f"你好, {name}!")

print()

功能

将对象打印输出到指定的文本流。

语法

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

参数

  • o objects: 要打印的对象。
  • o sep: 分隔符(默认为空格)。
  • o end: 结束符(默认为换行符)。
  • o file: 输出文件对象(默认为 sys.stdout)。
  • o flush: 是否强制刷新输出缓冲区。

返回值

  • o 无。

示例

print("Hello", "World", sep=", ", end="!\n")  # 输出: Hello, World!

其他常用函数

dir()

功能

返回对象的有效属性列表。

语法

dir([object])

参数

  • o object: 对象。

返回值

  • o 属性列表。

示例

print(dir())  # 输出当前命名空间的名称列表

help()

功能

启动内置的帮助系统。

语法

help([object])

参数

  • o object: 对象。

返回值

  • o 无。

示例

help(print)  # 输出 print 函数的帮助信息

id()

功能

返回对象的唯一标识值。

语法

id(object)

参数

  • o object: 对象。

返回值

  • o 整数。

示例

a = [1, 2, 3]
b = a
print(id(a))  # 输出: 140012345678912
print(id(b))  # 输出: 140012345678912

len()

功能

返回对象的长度(元素个数)。

语法

len(s)

参数

  • o s: 序列或集合对象。

返回值

  • o 整数。

示例

print(len([1, 2, 3]))  # 输出: 3
print(len("Hello"))    # 输出: 5

sum()

功能

start 开始自左向右对 iterable 的项求和并返回总计值。

语法

sum(iterable[, start])

参数

  • o iterable: 可迭代对象。
  • o start: 起始值(默认为0)。

返回值

  • o 总计值。

示例

numbers = [1, 2, 3, 4, 5]
print(sum(numbers))  # 输出: 15
print(sum(numbers, 10))  # 输出: 25

学习路线

  1. 1. 基础篇
  2. o 学习Python的基本语法和数据类型。
  3. o 理解和控制程序流程(条件语句、循环)。
  4. 2. 函数和模块
  5. o 学习如何定义和使用函数。
  6. o 了解Python的内置模块和第三方模块。
  7. 3. 面向对象编程
  8. o 学习类和对象的概念。
  9. o 理解继承、多态和封装。
  10. 4. 高级特性
  11. o 学习装饰器、生成器、上下文管理器等高级特性。
  12. 5. 内置函数
  13. o 深入学习Python的内置函数,理解其用途和应用场景。
  14. 6. 实践项目
  15. o 通过实际项目练习所学知识,提升编程能力。

学习总结

Python的内置函数为我们提供了丰富的工具,帮助我们更高效地编写代码。通过学习和掌握这些函数,我们可以更好地理解和应用Python的特性,提升编程效率和代码质量。

附录

主要函数清单

表1: 数学和数值函数

函数功能参数说明返回值示例abs()返回数字的绝对值x: 数字数字的绝对值abs(-10) => 10max()返回可迭代对象中的最大值iterable, key, default最大值max([1, 2, 3]) => 3min()返回可迭代对象中的最小值iterable, key, default最小值min([1, 2, 3]) => 1pow()返回base的exp次幂base, exp, mod次幂或余数pow(2, 3) => 8

表2: 序列和迭代函数

函数功能参数说明返回值示例enumerate返回枚举对象iterable, start枚举对象enumerate(['a', 'b']) => (0, 'a'), (1, 'b')filter过滤可迭代对象function, iterable过滤后的迭代器filter(lambda x: x%2==0, [1,2,3]) => [2]map应用函数到可迭代对象function, iterable映射后的迭代器map(lambda x: x*2, [1,2,3]) => [2,4,6]sorted返回排序后的新列表iterable, key, reverse排序后的列表sorted([3,1,2]) => [1,2,3]

表3: 类型和转换函数

函数功能参数说明返回值示例ascii返回对象的可打印表示object字符串ascii("Hello") => 'Hello'bin将整数转换为二进制字符串x二进制字符串bin(10) => '0b1010'bool返回布尔值object布尔值bool(0) => Falsechr返回Unicode字符i字符串chr(65) => 'A'float返回浮点数x浮点数float("3.14") => 3.14int返回整数x, base整数int("100", 2) => 4str返回字符串object字符串str(123) => '123'

表4: 对象和类相关函数

函数功能参数说明返回值示例getattr获取对象属性值object, name, default属性值或默认值getattr(obj, "name") => "Alice"setattr设置对象属性值object, name, value无setattr(obj, "name", "Bob")isinstance检查对象是否是类实例object, classinfo布尔值isinstance(dog, Dog) => Truetype返回对象类型object类型对象type(123) => <class 'int'>

表5: 输入输出函数

函数功能参数说明返回值示例input从标准输入读取一行prompt字符串input("请输入你的名字: ") => "Alice"print将对象打印输出objects, sep, end, file, flush无print("Hello", "World") => "Hello World"

表6: 其他常用函数

函数功能参数说明返回值示例dir返回对象的有效属性列表object属性列表dir() => ['builtins', 'doc', ...]help启动内置帮助系统object无help(print) => 打印 print 函数的帮助信息id返回对象的唯一标识值object整数id(a) => 140012345678912len返回对象的长度s整数len([1, 2, 3]) => 3sum返回可迭代对象的元素之和iterable, start总计值sum([1, 2, 3]) => 6


持续更新Python编程学习日志与技巧,敬请关注!



#编程# #学习# #python# #在头条记录我的2025#