位置: 文档库 > Python > python的内建函数详解

python的内建函数详解

TitanPetal 上传于 2023-11-14 13:19

《Python的内建函数详解》

Python作为一门简洁高效的编程语言,其内建函数(Built-in Functions)是开发者日常使用的核心工具。这些函数无需导入任何模块即可直接调用,覆盖了数据类型转换、逻辑判断、序列操作、数学计算等多个场景。本文将系统梳理Python 3.x版本中的核心内建函数,结合实际案例说明其用法,帮助读者构建完整的函数知识体系。

一、基础类型转换函数

Python提供了丰富的类型转换函数,用于在不同数据类型间进行安全转换。

1. 数值转换


# int()将字符串或浮点数转为整数
print(int("123"))      # 输出: 123
print(int(3.14))       # 输出: 3

# float()将字符串或整数转为浮点数
print(float("3.14"))   # 输出: 3.14
print(float(5))        # 输出: 5.0

# complex()创建复数
print(complex(1,2))    # 输出: (1+2j)

特殊处理:当字符串包含非数字字符时会抛出ValueError,建议先用str.isdigit()方法验证。

2. 字符串处理


# str()将任意对象转为字符串
print(str(100))        # 输出: "100"
print(str([1,2,3]))    # 输出: "[1, 2, 3]"

# bytes()创建字节序列
data = bytes("abc", encoding='utf-8')
print(data)            # 输出: b'abc'

# chr()和ord()进行字符编码转换
print(chr(65))         # 输出: 'A'
print(ord('A'))        # 输出: 65

3. 布尔值转换


# bool()判断对象真假
print(bool(0))         # 输出: False
print(bool([]))        # 输出: False
print(bool("hello"))   # 输出: True

转换规则:0、None、空序列、空映射等视为False,其余视为True。

二、序列操作函数

序列类型(列表、元组、字符串等)是Python中最常用的数据结构,相关内建函数极大提升了处理效率。

1. 序列构造


# list()创建列表
print(list("abc"))     # 输出: ['a', 'b', 'c']

# tuple()创建元组
print(tuple([1,2,3]))  # 输出: (1, 2, 3)

# range()生成数字序列
for i in range(3,7,2):
    print(i)           # 输出: 3, 5

2. 序列解包


# zip()并行迭代
names = ['Alice', 'Bob']
scores = [90, 85]
for name, score in zip(names, scores):
    print(f"{name}: {score}")
# 输出:
# Alice: 90
# Bob: 85

# enumerate()获取索引和值
fruits = ['apple', 'banana']
for i, fruit in enumerate(fruits):
    print(i, fruit)
# 输出:
# 0 apple
# 1 banana

3. 序列操作


# len()获取长度
print(len([1,2,3]))   # 输出: 3

# sum()求和
print(sum([1,2,3]))   # 输出: 6

# sorted()排序
print(sorted([3,1,2])) # 输出: [1, 2, 3]

# reversed()反转序列
for x in reversed([1,2,3]):
    print(x)           # 输出: 3, 2, 1

三、数学计算函数

Python内建的数学函数覆盖了基本运算、数值判断和高级数学操作。

1. 基本运算


# abs()取绝对值
print(abs(-5))        # 输出: 5

# divmod()同时获取商和余数
print(divmod(10,3))   # 输出: (3, 1)

# pow()幂运算
print(pow(2,3))       # 输出: 8
print(pow(2,3,5))     # 输出: 3 (等价于2**3%5)

2. 数值判断


# min()和max()获取极值
print(min(1,2,3))     # 输出: 1
print(max([4,5,1]))   # 输出: 5

# round()四舍五入
print(round(3.14159, 2)) # 输出: 3.14

# isinstance()类型检查
print(isinstance(5, int)) # 输出: True

3. 高级数学


import math  # 虽然需要导入,但math模块函数常被视为内建扩展

# 三角函数
print(math.sin(math.pi/2)) # 输出: 1.0

# 对数运算
print(math.log(100,10))    # 输出: 2.0

# 随机数
import random
print(random.randint(1,10)) # 输出: 1-10的随机整数

四、对象操作函数

Python提供了强大的对象操作函数,支持反射和动态特性。

1. 类型检查


# type()获取对象类型
print(type(100))      # 输出: 

# isinstance()多类型检查
print(isinstance(100, (int, float))) # 输出: True

2. 属性操作


class Person:
    def __init__(self, name):
        self.name = name

p = Person("Alice")

# hasattr()检查属性
print(hasattr(p, 'name')) # 输出: True

# getattr()获取属性
print(getattr(p, 'name')) # 输出: Alice

# setattr()设置属性
setattr(p, 'age', 25)
print(p.age)             # 输出: 25

3. 内存管理


# id()获取对象标识
x = 10
print(id(x))            # 输出类似: 140736...

# isinstance() vs type()
# isinstance()考虑继承关系,type()严格匹配
class A: pass
class B(A): pass
b = B()
print(isinstance(b, A)) # 输出: True
print(type(b) == A)     # 输出: False

五、输入输出函数

I/O操作是程序与外界交互的基础,Python提供了简洁的内建函数。

1. 标准输入输出


# print()输出
print("Hello", "World", sep="-") # 输出: Hello-World

# input()输入
name = input("Your name: ")
print(f"Hello, {name}")

2. 文件操作


# open()文件操作
with open('test.txt', 'w') as f:
    f.write("Hello")

with open('test.txt', 'r') as f:
    print(f.read())     # 输出: Hello

3. 格式化输出


# format()方法
print("{} is {}".format("Alice", 25))

# f-string (Python 3.6+)
name = "Bob"
age = 30
print(f"{name} is {age}")

六、高级功能函数

Python还提供了一些实现特定功能的强大内建函数。

1. 迭代器工具


# map()应用函数到序列
nums = [1,2,3]
squared = list(map(lambda x: x**2, nums))
print(squared)          # 输出: [1, 4, 9]

# filter()过滤序列
evens = list(filter(lambda x: x%2==0, nums))
print(evens)            # 输出: [2]

2. 函数工具


# callable()检查可调用性
def func(): pass
print(callable(func))   # 输出: True
print(callable(100))    # 输出: False

# eval()执行字符串表达式
x = 1
print(eval("x + 1"))    # 输出: 2

# exec()执行多行代码
code = """
for i in range(3):
    print(i)
"""
exec(code)              # 输出: 0,1,2

3. 装饰器相关


# property()创建属性
class Circle:
    def __init__(self, radius):
        self._radius = radius
    
    @property
    def radius(self):
        return self._radius
    
    @radius.setter
    def radius(self, value):
        if value > 0:
            self._radius = value

c = Circle(5)
print(c.radius)          # 输出: 5

七、实用工具函数

还有一些日常开发中常用的实用函数。

1. 帮助文档


# help()查看文档
help(str.upper)

# dir()查看对象属性
print(dir([]))          # 显示列表所有方法

2. 编译执行


# compile()编译代码
code = compile("print('Hello')", '', 'exec')
exec(code)              # 输出: Hello

3. 变量作用域


# globals()和locals()
x = 10
def func():
    y = 20
    print(locals())    # 输出: {'y': 20}

func()
print(globals())       # 包含x等全局变量

八、最佳实践与注意事项

1. 类型转换时注意异常处理:


try:
    num = int("abc")
except ValueError:
    print("无效输入")

2. 避免过度使用eval()和exec(),存在安全风险

3. 对于大数据处理,考虑使用生成器表达式替代map/filter

4. 优先使用f-string进行字符串格式化(Python 3.6+)

5. 注意某些函数在不同Python版本中的行为差异

总结

Python的内建函数体系设计精妙,既包含了基础类型转换、序列操作等日常工具,也提供了map/filter等函数式编程特性,还有property、装饰器等高级功能。熟练掌握这些函数可以显著提升开发效率,写出更简洁优雅的代码。建议开发者通过实际项目不断练习,逐渐形成对这些函数的直觉理解。

关键词:Python内建函数、类型转换、序列操作、数学计算、对象操作、输入输出高级功能最佳实践

简介:本文系统梳理Python 3.x版本中的核心内建函数,涵盖基础类型转换、序列操作、数学计算、对象操作、输入输出、高级功能等六大类,结合实际代码示例说明用法,并总结最佳实践与注意事项,帮助开发者构建完整的Python内建函数知识体系。