Python3 内置函数详解

Python3 内置函数详解

小陶coding

欢迎您的访问,专注于分享最有价值的互联网技术干货。

Python3 内置函数详解

Python3 提供了大量内置函数(Built-in Functions),这些函数无需导入任何模块即可直接使用,覆盖了类型转换、数学运算、序列操作、迭代处理等多种场景,是 Python 编程的基础工具。本文按功能分类详解常用内置函数,包含语法、参数、示例及使用场景。

一、类型转换函数

用于在不同数据类型之间进行转换,是处理数据的基础工具。

函数功能描述语法示例

int()

将数据转为整数(默认十进制)

int(x, base=10)

int("123") → 123;int("1010", 2) → 10(二进制转十进制)

float()

将数据转为浮点数

float(x)

float("3.14") → 3.14;float(5) → 5.0

str()

将数据转为字符串

str(x)

str(123) → "123";str([1,2]) → "[1, 2]"

bool()

将数据转为布尔值(0/None/ 空对象为 False)

bool(x)

bool(0) → False;bool([1]) → True

list()

将可迭代对象转为列表

list(iterable)

list((1,2,3)) → [1,2,3];list("abc") → ["a","b","c"]

tuple()

将可迭代对象转为元组

tuple(iterable)

tuple([1,2,3]) → (1,2,3)

dict()

创建字典(可通过键值对或映射对象)

dict(**kwargs) 或 dict(iterable)

dict(a=1, b=2) → {"a":1, "b":2};dict([("a",1)]) → {"a":1}

set()

将可迭代对象转为集合(去重)

set(iterable)

set([1,2,2,3]) → {1,2,3}

bytes()

将数据转为字节序列(二进制)

bytes(x, encoding="utf-8")

bytes("中文", "utf-8") → b'\xe4\xb8\xad\xe6\x96\x87'

二、数学运算函数

用于基本数学计算,无需导入math模块即可使用。

函数功能描述语法示例

abs()

返回数值的绝对值

abs(x)

abs(-5) → 5;abs(3.14) → 3.14

max()

返回可迭代对象中的最大值(或多个参数的最大值)

max(iterable) 或 max(a, b, ...)

max([1,3,2]) → 3;max(1,5,3) → 5

min()

返回可迭代对象中的最小值(或多个参数的最小值)

min(iterable) 或 min(a, b, ...)

min([1,3,2]) → 1;min(1,5,3) → 1

sum()

计算可迭代对象中元素的总和(支持起始值)

sum(iterable, start=0)

sum([1,2,3]) → 6;sum([1,2], 10) → 13

pow()

计算x的y次方(可选取模)

pow(x, y, mod=None)

pow(2, 3) → 8;pow(2, 3, 5) → 3(8 mod 5=3)

round()

对数值四舍五入(保留指定小数位数)

round(x, ndigits=None)

round(3.1415) → 3;round(3.1415, 2) → 3.14

三、序列 / 集合操作函数

用于处理列表、元组、字符串等可迭代对象,是数据处理的核心工具。

函数功能描述语法示例

len()

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

len(obj)

len([1,2,3]) → 3;len("abc") → 3

sorted()

对可迭代对象排序(返回新列表,不改变原对象)

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

sorted([3,1,2]) → [1,2,3];sorted(["b","a"], reverse=True) → ["b","a"]

reversed()

返回可迭代对象的反向迭代器

reversed(seq)

list(reversed([1,2,3])) → [3,2,1]

all()

若可迭代对象所有元素为 True(或空),返回 True

all(iterable)

all([1,2,3]) → True;all([1,0,3]) → False

any()

若可迭代对象至少有一个元素为 True,返回 True

any(iterable)

any([0,False,1]) → True;any([]) → False

enumerate()

为可迭代对象添加索引,返回(索引, 值)元组迭代器

enumerate(iterable, start=0)

list(enumerate(["a","b"])) → [(0,"a"), (1,"b")]

zip()

将多个可迭代对象的元素按位置配对,返回元组迭代器

zip(*iterables)

list(zip([1,2], ["a","b"])) → [(1,"a"), (2,"b")]

slice()

创建切片对象(用于序列截取)

slice(start, stop, step)

s = slice(1,4); [1,2,3,4,5][s] → [2,3,4]

四、对象操作函数

用于检查对象类型、获取对象信息或操作对象属性。

函数功能描述语法示例

type()

返回对象的类型

type(obj)

type(123) → int;type([1,2]) → list

isinstance()

判断对象是否为指定类型(或其子类)

isinstance(obj, class_or_tuple)

isinstance(5, int) → True;isinstance([], (list, tuple)) → True

dir()

返回对象的所有属性和方法列表

dir(obj)

dir([]) → ['append', 'clear', ...](列表的方法)

id()

返回对象的唯一标识符(内存地址)

id(obj)

id(123) → 140718502485232(每次运行可能不同)

hash()

返回对象的哈希值(可哈希对象:int、str 等)

hash(obj)

hash("test") → 7171021747400800475

getattr()

获取对象的属性值(不存在时可选默认值)

getattr(obj, name, default)

class A: x=1; a=A(); getattr(a, "x") → 1

setattr()

设置对象的属性值

setattr(obj, name, value)

a=A(); setattr(a, "y", 2); a.y → 2

delattr()

删除对象的属性

delattr(obj, name)

delattr(a, "x"); hasattr(a, "x") → False

hasattr()

检查对象是否有指定属性

hasattr(obj, name)

hasattr([], "append") → True

五、输入输出函数

用于程序与用户的交互(输入输出)。

函数功能描述语法示例

print()

输出内容到控制台(支持多参数、分隔符、结尾符)

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

print("Hello", "World", sep="-") → Hello-World;print(123, end="!") → 123!

input()

接收用户输入(返回字符串)

input(prompt=None)

name = input("请输入姓名:"); print(name)

六、迭代器与高阶函数

用于处理迭代过程,或对函数进行操作(函数式编程风格)。

函数功能描述语法示例

map()

对可迭代对象的每个元素应用函数,返回迭代器

map(function, *iterables)

list(map(lambda x: x*2, [1,2,3])) → [2,4,6]

filter()

用函数过滤可迭代对象,保留返回 True 的元素

filter(function, iterable)

list(filter(lambda x: x%2==0, [1,2,3,4])) → [2,4]

reduce()

对可迭代对象累积应用函数(需从functools导入)

reduce(function, iterable, initial)

from functools import reduce; reduce(lambda x,y: x+y, [1,2,3]) → 6

iter()

创建迭代器对象

iter(obj)

it = iter([1,2,3]); next(it) → 1

next()

获取迭代器的下一个元素(可指定默认值)

next(iterator, default)

next(it) → 2;next(it, "end") → 3(最后一个元素后返回 "end")

七、其他常用函数

覆盖异常处理、内存操作等场景。

函数功能描述语法示例

range()

生成整数序列(常用于循环)

range(start, stop, step)

list(range(5)) → [0,1,2,3,4];list(range(1,6,2)) → [1,3,5]

open()

打开文件(返回文件对象,需配合with使用)

open(file, mode='r', encoding=None)

with open("test.txt", "w") as f: f.write("hello")

help()

查看对象的帮助文档

help(obj)

help(str)(查看字符串的帮助)

vars()

返回对象的属性字典(类似__dict__)

vars(obj)

class A: x=1; a=A(); vars(a) → {}(实例无属性时为空)

globals()

返回当前全局变量字典

globals()

globals()["__name__"] → "__main__"

locals()

返回当前局部变量字典

locals()

在函数内使用:def f(): x=1; print(locals()) → {'x':1}

exit()

退出当前程序

exit(code=0)

exit(0)(正常退出);exit(1)(异常退出)

使用建议

优先使用内置函数:内置函数由 C 语言实现,执行效率远高于自定义函数(如sum()比循环累加快 10 倍以上)。

注意参数类型:多数函数对输入类型有要求(如max()需可迭代对象,abs()需数值类型),否则会抛出TypeError。

结合文档学习:通过help(函数名)查看详细用法(如help(sorted)了解key参数的高级用法)。

灵活组合使用:例如enumerate()+zip()可同时处理多个序列的索引和值,map()+filter()可实现复杂数据转换。

掌握这些内置函数是 Python 入门的关键,它们能大幅简化代码,提高编程效率。实际开发中,80% 的基础功能可通过内置函数实现,无需额外依赖

posted on

2025-09-11 08:58

小陶coding

阅读(70)

评论(0)

收藏

举报

刷新页面返回顶部

相关数据

电视无信号 – 最常见的原因及解决方法
365bet比分直播

电视无信号 – 最常见的原因及解决方法

⏳ 09-02 💖 921
神兽抓捕:	捷克罗姆
365bet比分直播

神兽抓捕: 捷克罗姆

⏳ 09-13 💖 799
《明日方舟》RS
365bet比分直播

《明日方舟》RS

⏳ 10-09 💖 845