Python函数:Python中len、abs、sum等内置函数汇总 Python函数Python中len、abs、sum等内置函数汇总一、开篇Python的瑞士军刀Python自带70多个内置函数Built-in Functions它们是Python的瑞士军刀——不需要import随时可用覆盖了类型转换、数学计算、序列操作、对象信息等方方面面。⌨️ 你已经在日常编程中大量使用它们了# 这些你不用import就能用print(len([1,2,3]))# 3print(abs(-5))# 5print(sum([1,2,3]))# 6print(type(hello))# class strprint(int(42))# 42print(range(10))# range(0, 10)print(isinstance(5,int))# True 这篇文章我们对Python内置函数做一个系统性的梳理——按类别整理了解每个函数的用途和典型用法。这不只是一份速查表更是帮你建立Python全局视野的指南。二、数学相关内置函数2.1 基本数学运算# abs(x) —— 绝对值print(abs(-10))# 10print(abs(3.14))# 3.14print(abs(-34j))# 5.0 —— 复数的模# round(number, ndigits) —— 四舍五入print(round(3.14159,2))# 3.14print(round(3.14159))# 3不指定精度保留到整数print(round(2.5))# 2 —— ⚠️ 注意银行家舍入# pow(base, exp, mod) —— 幂运算可带模print(pow(2,10))# 1024print(pow(2,10,1000))# 24 —— 等价于 (2**10) % 1000但更高效# divmod(a, b) —— 同时返回商和余数quotient,remainderdivmod(17,5)print(f17 ÷ 5 {quotient}余{remainder})# 17 ÷ 5 3 余 2# 常用于分页计算、时间换算total_minutes137hours,minutesdivmod(total_minutes,60)print(f{hours}小时{minutes}分钟)# 2小时17分钟2.2 聚合函数# sum(iterable, start) —— 求和print(sum([1,2,3,4,5]))# 15print(sum([1,2,3],10))# 16从10开始加# 性能提示sum()用C实现比for循环快得多# min(iterable) / min(a, b, c, ...) —— 最小值print(min([5,2,8,1,9]))# 1print(min(5,2,8,1,9))# 1print(min(python,java,c))# c —— 按字母顺序# min也支持key参数words[python,java,c,go,rust]print(min(words,keylen))# c —— 最短的# max(iterable) —— 最大值print(max([5,2,8,1,9]))# 9print(max(words,keylen))# python —— 最长的# 实用组合scores[85,92,78,95,88]avgsum(scores)/len(scores)print(f平均分:{avg:.1f}, 最高:{max(scores)}, 最低:{min(scores)})三、类型转换内置函数3.1 数值类型转换# int(x, base) —— 转整数print(int(3.14))# 3print(int(42))# 42print(int(1010,2))# 10 —— 二进制字符串转十进制print(int(FF,16))# 255 —— 十六进制print(int(0xFF,16))# 255 —— 0x前缀也能处理# float(x) —— 转浮点数print(float(42))# 42.0print(float(3.14))# 3.14print(float(inf))# inf —— 无穷大print(float(nan))# nan —— 非数字# complex(real, imag) —— 转复数print(complex(3,4))# (34j)print(complex(34j))# (34j)# bool(x) —— 转布尔值print(bool(1))# Trueprint(bool(0))# Falseprint(bool([]))# False —— 空列表是假值print(bool([1,2]))# Trueprint(bool(hello))# Trueprint(bool())# False3.2 序列类型转换# list(iterable) —— 转列表print(list(hello))# [h, e, l, l, o]print(list(range(5)))# [0, 1, 2, 3, 4]print(list((1,2,3)))# [1, 2, 3]# tuple(iterable) —— 转元组print(tuple([1,2,3]))# (1, 2, 3)# set(iterable) —— 转集合自动去重print(set([1,2,2,3,3,3]))# {1, 2, 3}# dict(**kwargs) 或 dict(mapping) —— 创建字典print(dict(name张三,age25))# {name: 张三, age: 25}print(dict([(a,1),(b,2)]))# {a: 1, b: 2}# frozenset(iterable) —— 不可变集合fsfrozenset([1,2,3])# fs.add(4) # AttributeError! 不可修改# str(object) —— 转字符串print(str(42))# 42print(str([1,2,3]))# [1, 2, 3]print(str(None))# None# bytes(source) —— 创建字节对象print(bytes([72,101,108,108,111]))# bHelloprint(bytes(Hello,utf-8))# bHello# bytearray(source) —— 可变的字节数组babytearray(bHello)ba[0]104# h的ASCII码print(ba)# bytearray(bhello)四、序列操作内置函数4.1 信息获取# len(s) —— 获取长度print(len(Python))# 6print(len([1,2,3,4,5]))# 5print(len({a:1,b:2}))# 2# ⚠️ len()是O(1)操作——Python内部记录了长度4.2 创建和转换序列# range(start, stop, step) —— 创建整数序列print(list(range(5)))# [0, 1, 2, 3, 4]print(list(range(2,8)))# [2, 3, 4, 5, 6, 7]print(list(range(0,10,2)))# [0, 2, 4, 6, 8]print(list(range(10,0,-1)))# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]# enumerate(iterable, start) —— 带索引的迭代fruits[苹果,香蕉,橙子]fori,fruitinenumerate(fruits,1):print(f{i}.{fruit})# 1. 苹果# 2. 香蕉# 3. 橙子# zip(*iterables) —— 并行迭代names[张三,李四,王五]scores[85,92,78]forname,scoreinzip(names,scores):print(f{name}:{score})# 张三: 85# 李四: 92# 王五: 78# 矩阵转置zip的经典应用matrix[[1,2,3],[4,5,6],[7,8,9]]transposedlist(zip(*matrix))print(transposed)# [(1, 4, 7), (2, 5, 8), (3, 6, 9)]# reversed(sequence) —— 反向迭代print(list(reversed([1,2,3,4])))# [4, 3, 2, 1]print(.join(reversed(Hello)))# olleH# sorted(iterable, key, reverse) —— 排序print(sorted([3,1,4,1,5]))# [1, 1, 3, 4, 5]# slice(start, stop, step) —— 创建切片对象sslice(1,5,2)print([0,1,2,3,4,5,6,7,8,9][s])# [1, 3]# filter(function, iterable) —— 过滤# map(function, iterable) —— 映射五、对象信息内置函数5.1 类型和身份检查# type(object) —— 获取类型print(type(42))# class intprint(type(hello))# class strprint(type([1,2,3]))# class list# isinstance(object, classinfo) —— 检查是否为某类型print(isinstance(42,int))# Trueprint(isinstance(42,(int,float)))# True —— 可以是多个类型之一print(isinstance(hello,str))# Trueprint(isinstance([1,2],(list,tuple)))# True# issubclass(class, classinfo) —— 检查子类关系classAnimal:passclassDog(Animal):passprint(issubclass(Dog,Animal))# Trueprint(issubclass(Dog,object))# True# id(object) —— 获取对象的内存地址a[1,2,3]baprint(id(a))# 例如: 140234567890print(id(b))# 相同——同一个对象print(id([1,2,3]))# 不同——新创建的对象# hash(object) —— 获取哈希值print(hash(hello))# 某个整数print(hash((1,2,3)))# 某个整数# hash([1, 2, 3]) # TypeError! 列表不可哈希5.2 属性和能力检查# dir(object) —— 列出对象的所有属性和方法print(dir(hello))# 列出字符串的所有方法print(dir([]))# 列出列表的所有方法# hasattr(obj, name) —— 检查是否有某属性print(hasattr(hello,upper))# Trueprint(hasattr(hello,foo))# False# getattr(obj, name, default) —— 获取属性print(getattr(hello,upper))# built-in method upperprint(getattr(hello,foo,None))# None —— 不存在返回默认值# setattr(obj, name, value) —— 设置属性classConfig:passcfgConfig()setattr(cfg,debug,True)print(cfg.debug)# True# callable(object) —— 检查是否为可调用对象print(callable(print))# True —— 函数可调用print(callable(lambda:1))# True —— lambda可调用print(callable(42))# False —— 数字不可调用print(callable(hello))# False —— 字符串不可调用六、I/O和字符串相关6.1 输入输出# print(*objects, sep, end, file, flush)print(Hello,World,sep, ,end!\n)# Hello, World!# 打印到文件# with open(output.txt, w) as f:# print(日志信息, filef)# input(prompt) —— 获取用户输入# name input(请输入你的名字: )# age int(input(请输入你的年龄: ))# open(file, mode, ...) —— 打开文件# with open(data.txt, r, encodingutf-8) as f:# content f.read()6.2 字符编码和格式化# ord(c) —— 字符转Unicode码点print(ord(A))# 65print(ord(中))# 20013print(ord())# 128512# chr(i) —— Unicode码点转字符print(chr(65))# Aprint(chr(20013))# 中print(chr(128512))# # repr(object) —— 获取对象的表示形式print(repr(Hello\nWorld))# Hello\nWorld# ascii(object) —— ASCII表示非ASCII字符转义print(ascii(Hello 世界))# Hello 世界# format(value, format_spec) —— 格式化print(format(255,x))# ff —— 十六进制print(format(255,#x))# 0xffprint(format(3.14159,.2f))# 3.14# bin(x), oct(x), hex(x) —— 进制转换print(bin(10))# 0b1010print(oct(10))# 0o12print(hex(255))# 0xff七、函数式编程内置函数# iter(iterable) —— 获取迭代器ititer([1,2,3])print(next(it))# 1print(next(it))# 2print(next(it))# 3# next(iterator, default) —— 获取下一个元素ititer([1])print(next(it,default))# 1print(next(it,default))# default —— 迭代器耗尽# any(iterable) —— 任一为Trueprint(any([False,False,True]))# Trueprint(any([0,,None,False]))# False# all(iterable) —— 全部为Trueprint(all([True,True,True]))# Trueprint(all([True,False,True]))# False八、最常用的内置函数Top 10# 根据使用频率排名# 1. print() —— 输出# 2. len() —— 获取长度# 3. type() —— 查看类型# 4. int() / str() / float() —— 类型转换# 5. range() —— 生成序列# 6. list() / dict() / tuple() / set() —— 创建容器# 7. input() —— 获取输入# 8. enumerate() / zip() —— 序列操作# 9. isinstance() —— 类型检查# 10. sorted() / min() / max() / sum() —— 聚合# ✅ 熟练掌握这10类函数能覆盖日常编程90%的需求九、总结Python的70内置函数是语言设计哲学电池已包含Batteries Included的体现。它们覆盖了数学计算、类型转换、序列操作、对象信息、I/O、编码转换等方方面面。使用建议优先使用内置函数——C实现速度快bug少了解但不死记——知道有哪些就行需要时查善用内置函数组合——sum(map(int, data))之类的链式调用