Python内置函数详解_python 常用内置函数
前言
Python是一门功能强大的编程语言,其内置函数为我们提供了丰富的工具,帮助我们更高效地编写代码。
知识图谱
目录
- 1. 数学和数值函数
- 2. 序列和迭代函数
- 3. 类型转换函数
- 4. 对象和类相关函数
- 5. 输入输出函数
- 6. 其他常用函数
- 7. 学习路线
- 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()
功能
返回 base 的 exp 次幂;如果 mod 存在,则返回 base 的 exp 次幂对 mod 取余。
语法
pow(base, exp[, mod])
参数
- o base: 底数。
- o exp: 指数。
- o mod: 可选,模数。
返回值
- o base 的 exp 次幂,或 base 的 exp 次幂对 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()
功能
返回布尔值,即 True 或 False。
语法
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. 基础篇
- o 学习Python的基本语法和数据类型。
- o 理解和控制程序流程(条件语句、循环)。
- 2. 函数和模块
- o 学习如何定义和使用函数。
- o 了解Python的内置模块和第三方模块。
- 3. 面向对象编程
- o 学习类和对象的概念。
- o 理解继承、多态和封装。
- 4. 高级特性
- o 学习装饰器、生成器、上下文管理器等高级特性。
- 5. 内置函数
- o 深入学习Python的内置函数,理解其用途和应用场景。
- 6. 实践项目
- 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编程学习日志与技巧,敬请关注!