当前位置: 首页 > news >正文

Python里的内置函数

在 Python 中,内置函数(Built-in Functions) 指的是 Python 解释器自带的、无需额外导入任何任何模块就能直接使用的函数。绝大多数内置函数由 C 语言实现,执行速度远快于用 Python 代码手动编写的同等功能(例如 sum() 比自己写循环求和快很多)。

一、常见内置函数

  1. 输入输出(print()input()
  2. 类型转换(int()str()list()
  3. 序列操作(len()max()sorted()
  4. 迭代处理(map()filter()enumerate()
  5. 数学计算(abs()sum()round())等

二、如何区分内置函数与其他函数?

  • 内置函数:直接调用,如 print()input()len()
  • 标准库函数:需要 import 对应模块,如 import math 后使用 math.floor()
  • 第三方库函数:需要先安装库(如 pip install requests),再导入使用,如 requests.get()
  • 自定义函数:自己用 def 定义的函数,如 def add(a,b): return a+b

三、查看所有内置函数:

可以通过 Python 的 builtins 模块查看所有内置函数

import builtins# 打印所有内置函数和变量的名称(返回一个列表)
print(dir(builtins))
# 输出:['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'PythonFinalizationError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_IncompleteInputError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']

内置函数详解:

一、数学运算函数

abs sum max min divmod round pow

1. abs(x):返回一个数的绝对值

参数:x - 数值(整数、浮点数) 返回值:x的绝对值

num = -5
print(abs(num))  # 输出5print(abs(3.14))  # 输出3.14
print(abs(-3.14))  # 输出3.14

2. sum(iterable, start=0):对可迭代对象中的元素求和

参数

  • iterable:可迭代对象(如列表、元组、集合)
  • start:求和的起始值(默认为0)
nums = [1, 2, 3, 4]
print(sum(nums))  # 输出10print(sum([1, 2, 3], 10))  # 输出16(10 + 1 + 2 + 3)

3. max() 和 min()

功能:分别返回可迭代对象中的最大值和最小值
语法

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

参数

  • iterable:可迭代对象
  • key:可选,指定一个函数用于比较元素
nums = [1, 2, 3, 4]
print(max(nums))  # 输出4
print(min(nums))  # 输出1# 使用key参数自定义比较规则
words = ["apple", "banana", "cherry"]
print(max(words, key=len))  # 输出"banana"(长度最长)
print(min(words, key=len))  # 输出"apple"(长度最短)max([1, 3, 2])        # 返回 3
max(1, 3, 2)          # 返回 3
max([], default=0)    # 返回 0,如果可迭代对象为空,返回default

4. divmod(a, b)

  • 返回一个包含商和余数的元组 (a // b, a % b)

divmod(10, 3)   # 返回 (3, 1)
5.round() - 四舍五入:  round(number[, ndigits])
  • 返回四舍五入到小数点后 ndigits 位的数字。如果省略 ndigits,则返回最接近的整数。

print(round(3.14159))       # 输出: 3
print(round(3.14159, 2))    # 输出: 3.14
print(round(3.5))           # 输出: 4
print(round(2.5))           # 输出: 2 (银行家舍入法)
6. pow() - 幂运算

pow(base, exp[, mod])

  • 返回 base 的 exp 次幂;如果 mod 存在,则返回 base 的 exp 次幂对 mod 取余。

pow(2, 3)     # 8
pow(2, 3, 3)  # 2 (因为 8 % 3 = 2)

二、数据类型转换函数

1. int(x[, base])

功能:将字符串或数字转换为整数
语法int(x[, base]) 参数

  • x:字符串或数字
  • base:进制(默认10,可选2、8、16等)
print(int("10"))  # 输出10
print(int("101", 2))  # 输出5(二进制转十进制)
print(int("0xFF", 16))  # 输出255(十六进制转十进制)
print(int(3.14))  # 输出3(浮点数转整数,截断小数部分)

2. float(x)

功能:将字符串或数字转换为浮点数
语法float(x) 参数:x - 字符串或数字

print(float("10.5"))  # 输出10.5
print(float(10))  # 输出10.0

3. str(object)

功能:将对象转换为字符串
语法str(object) 参数:object - 任意对象

num = 10
print(str(num))  # 输出"10"print(str(10.5))  # 输出"10.5"
print(str(True))  # 输出"True"
print(str([1, 2, 3]))  # 输出"[1, 2, 3]"

4. bin(x), hex(x), oct(x)

功能:将整数转换为二进制、十六进制、八进制字符串
语法

  • bin(x):返回二进制字符串(前缀0b)
  • hex(x):返回十六进制字符串(前缀0x)
  • oct(x):返回八进制字符串(前缀0o)
print(bin(10))  # 输出'0b1010'
print(hex(10))  # 输出'0xa'
print(oct(10))  # 输出'0o12'

5. chr(i), ord(c)

功能

  • chr(i):将Unicode码点转换为字符
  • ord(c):将字符转换为Unicode码点
print(chr(65))  # 输出'A'
print(ord('A'))  # 输出65print(chr(128512))  # 输出一个表情符号(😊)
6.list() - 转换为列表
print(list("hello"))        # 输出: ['h', 'e', 'l', 'l', 'o']
print(list((1, 2, 3)))      # 输出: [1, 2, 3]
print(list({1, 2, 3}))      # 输出: [1, 2, 3]
print(list({"a": 1, "b": 2}))  # 输出: ['a', 'b']
7. tuple() - 转换为元组
print(tuple([1, 2, 3]))     # 输出: (1, 2, 3)
print(tuple("hello"))       # 输出: ('h', 'e', 'l', 'l', 'o')
8. dict() - 创建字典
print(dict(a=1, b=2))           # 输出: {'a': 1, 'b': 2}
print(dict([('a', 1), ('b', 2)])) # 输出: {'a': 1, 'b': 2}
print(dict(zip(['a', 'b'], [1, 2]))) # 输出: {'a': 1, 'b': 2}
9. set() - 创建集合
print(set([1, 2, 2, 3, 3]))     # 输出: {1, 2, 3}
print(set("hello"))             # 输出: {'h', 'e', 'l', 'o'}
10.bool() - 转换为布尔值
# 假值: False, 0, "", None, [], {}, ()
print(bool(0))          # 输出: False
print(bool(1))          # 输出: True
print(bool(""))         # 输出: False
print(bool("hello"))    # 输出: True
print(bool([]))         # 输出: False
print(bool([1, 2]))     # 输出: True

三、序列操作函数

1. len(s)

功能:返回序列(字符串、列表、元组等)的长度
语法len(s) 参数:s - 序列对象

s = "hello"
print(len(s))  # 输出5my_list = [1, 2, 3, 4, 5]
print(len(my_list))  # 输出5my_dict = {'a': 1, 'b': 2}
print(len(my_dict))  # 输出2(键值对的数量)

2. range(stop) / range(start, stop[, step])

功能:生成一个整数序列,常用于循环
语法

  • range(stop):从0开始到stop-1
  • range(start, stop):从start开始到stop-1
  • range(start, stop, step):指定步长
# 生成0-4的序列
for i in range(5):print(i)  # 输出0 1 2 3 4# 生成2-5的序列
for i in range(2, 6):print(i)  # 输出2 3 4 5# 生成0-8的偶数
for i in range(0, 9, 2):print(i)  # 输出0 2 4 6 8

3. enumerate(iterable, start=0)

功能:将可迭代对象组合为索引序列,同时列出数据和下标
语法enumerate(iterable, start=0)

fruits = ["apple", "banana", "cherry"]
for i, fruit in enumerate(fruits):print(i, fruit)# 输出:
# 0 apple
# 1 banana
# 2 cherry# 自定义起始索引
for i, fruit in enumerate(fruits, start=1):print(i, fruit)# 输出:
# 1 apple
# 2 banana
# 3 cherry

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

功能:对可迭代对象进行排序,返回一个新的已排序列表
语法sorted(iterable, *, key=None, reverse=False)

nums = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print(sorted(nums))  # 输出[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]# 降序排列
print(sorted(nums, reverse=True))  # 输出[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]# 自定义排序规则
class Student:def __init__(self, name, age):self.name = nameself.age = agedef __repr__(self):return f"Student({self.name}, {self.age})"students = [Student("Alice", 20),Student("Bob", 18),Student("Charlie", 22)
]# 按年龄排序
sorted_students = sorted(students, key=lambda x: x.age)
print(sorted_students)
# 输出:[Student(Bob, 18), Student(Alice, 20), Student(Charlie, 22)]

四、映射与过滤函数

1. map(function, iterable)

功能:将函数应用到可迭代对象的每个元素上
语法map(function, iterable)

# 使用普通函数
def square(x):return x * xnums = [1, 2, 3, 4]
squared_nums = list(map(square, nums))
print(squared_nums)  # 输出[1, 4, 9, 16]# 使用lambda表达式
squared_nums = list(map(lambda x: x * x, nums))
print(squared_nums)  # 输出[1, 4, 9, 16]# 多个列表参数
def add(x, y):return x + yresult = list(map(add, [1, 2, 3], [3, 2, 1]))
print(result)  # 输出[4, 4, 4]

2. filter(function, iterable)

功能:过滤掉使函数返回False的元素
语法filter(function, iterable)

# 筛选偶数
def is_even(x):return x % 2 == 0nums = [1, 2, 3, 4, 5, 6]
even_nums = list(filter(is_even, nums))
print(even_nums)  # 输出[2, 4, 6]# 使用lambda表达式
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums)  # 输出[2, 4, 6]# 筛选非空字符串
words = ["apple", "", "banana", "cherry", ""]
non_empty_words = list(filter(None, words))
print(non_empty_words)  # 输出['apple', 'banana', 'cherry']

五、对象与反射函数

1. type(object)

功能:返回对象的类型
语法type(object)

print(type(10))  # 输出<class 'int'>
print(type("hello"))  # 输出<class 'str'>
print(type([1, 2, 3]))  # 输出<class 'list'>

2. isinstance(object, classinfo)

功能:检查对象是否是某个类的实例
语法isinstance(object, classinfo)

print(isinstance(10, int))  # 输出True
print(isinstance("hello", str))  # 输出True
print(isinstance([1, 2, 3], list))  # 输出True# 检查多个类
print(isinstance(10, (int, float)))  # 输出True

3. dir([object])

功能:返回对象的属性列表
语法dir([object])

# 查看内置函数列表
print(dir(__builtins__))# 查看字符串对象的属性
print(dir("hello"))# 查看自定义对象的属性
class MyClass:def __init__(self):self.a = 1self.b = 2obj = MyClass()
print(dir(obj))

4. getattr(object, name[, default])

功能:获取对象的属性值
语法getattr(object, name[, default])

class Person:def __init__(self, name, age):self.name = nameself.age = ageperson = Person("Alice", 30)
print(getattr(person, "name"))  # 输出"Alice"
print(getattr(person, "age"))  # 输出30# 获取不存在的属性,提供默认值
print(getattr(person, "gender", "Unknown"))  # 输出"Unknown"

5. hasattr(object, name)

功能:检查对象是否包含指定的属性
语法hasattr(object, name)

class Person:def __init__(self, name, age):self.name = nameself.age = ageperson = Person("Alice", 30)print(hasattr(person, "name"))  # 输出True
print(hasattr(person, "gender"))  # 输出False

六、输入输出函数

1. print(*objects, sep=' ', end='\n')

功能:将指定对象输出到标准输出设备(通常是控制台)
语法print(*objects, sep=' ', end='\n')

# 基本用法
print("Hello, World!")  # 输出:Hello, World!# 多个对象
print("Name:", "Alice", "Age:", 30)  # 输出:Name: Alice Age: 30# 自定义分隔符
print("First", "Second", "Third", sep=" | ")  # 输出:First | Second | Third# 自定义行尾结束符
print("First line", end=" | ")
print("Second line")  # 输出:First line | Second line

2. input([prompt])

功能:从标准输入(通常是键盘)读取一行文本
语法input([prompt])

name = input("请输入您的名字: ")
age = input("请输入您的年龄: ")print(f"您好, {name}! 您输入的年龄是: {age}")
print(f"名字的数据类型: {type(name)}")  # 输出: <class 'str'>
print(f"年龄的数据类型: {type(age)}")  # 输出: <class 'str'># 如果需要数字,需要后续转换
age_int = int(age)
print(f"转换后的年龄类型: {type(age_int)}")  # 输出: <class 'int'>

七、其他常用函数

1. all(iterable)

功能:判断所有元素是否都为True
语法all(iterable)

print(all([True, True, True]))  # 输出True
print(all([True, False, True]))  # 输出False
print(all([1, 2, 3, 4]))  # 输出True(非零值视为True)
print(all(['a', 'b', 'c']))  # 输出True
print(all(['', [], {}]))  # 输出False(空值视为False)
print(all([]))  # 输出True(空列表视为所有元素都为True)

2. any(iterable)

功能:判断是否存在至少一个元素为True
语法any(iterable)

print(any([True, False, True]))  # 输出True
print(any([False, False, False]))  # 输出False
print(any([0, 1, 2]))  # 输出True(1和2视为True)
print(any(['', 'text', '']))  # 输出True
print(any([]))  # 输出False(空列表没有元素为True)

3. zip(*iterables)

功能:将多个迭代器压缩为元组序列
语法zip(*iterables)

names = ["Alice", "Bob", "Charlie"]
ages = [30, 25, 35]
genders = ["F", "M", "M"]combined = list(zip(names, ages, genders))
print(combined)
# 输出:[('Alice', 30, 'F'), ('Bob', 25, 'M'), ('Charlie', 35, 'M')]# 可以用于字典创建
d = dict(zip(names, ages))
print(d)  # 输出:{'Alice': 30, 'Bob': 25, 'Charlie': 35}
http://www.dtcms.com/a/526179.html

相关文章:

  • 赚钱做任务的网站新版wordpress编辑框
  • 廊坊网站制作策划网站建设与管理教程
  • 佛山微信网站开发网站放视频代码
  • html网站发布网页界面设计方法
  • 南京做公司网站wordpress修改404页面
  • 企业网站建设网站优化推广福州网站建设要找嘉艺网络
  • 淘宝联盟怎么样做网站最好的国内科技网站建设
  • 使用Requests和正则表达式实现纵横小说网小说爬取
  • 教育网站 模板求百度关键词搜索网站
  • 2025年又是1年1024
  • 产品销售网站模板如何做中英文网站设计
  • 怎么给别人做网站优化家里做网站买什么服务器好
  • 免费做网站wxp114事件网站推广
  • C++ float 类型深度解析:单精度浮点的设计与实践
  • 常州做网站麦策大数据做网站流量分析
  • Python-pydantic校验
  • 哈尔滨 做网站鹤壁建设网站推广渠道电话
  • postgresql plancache --doing
  • dede 网站地图模板htm无锡网站制作工作室
  • OUC AI Lab 第四章:即插即用的注意力机制
  • 长春阿凡达网站建设网站主持人制作网站代言人
  • 广州网站制作(信科网络)新闻类网站排版网站建设
  • 天津网站制作西安网站建设app开发
  • 图像处理基础
  • 网站制作-杭州嘉兴模板建站软件
  • 工商网站如何做企业增资北京公司响应式网站建设价位
  • 开通网站费用怎么做分录在网上做效果图赚钱的网站
  • p2p做网站山西省建设信息网站
  • ECAT PDO对比SDO
  • 蓝桥杯省赛-顺子日期