Python 内置函数全面解析与示例教程
本文将深入剖析 Python 的内置函数,通过丰富的示例、直观的图片以及对比表格,帮助读者全面掌握这些实用工具,无论是 Python 新手还是进阶开发者都能从中受益。
一、Python 内置函数概述
Python 拥有大量实用的内置函数,这些函数无需额外导入模块即可直接使用,大大提高了编程效率。根据功能,可大致分为数学运算、数据类型转换、序列操作、文件操作、反射和其他常用函数等几类。
(一)数学运算函数
- abs():返回一个数的绝对值。
num = -5
print(abs(num)) # 输出5
- sum():对可迭代对象(如列表、元组)中的元素求和。
nums = [1, 2, 3, 4]
print(sum(nums)) # 输出10
- max() 和 min():分别返回可迭代对象中的最大值和最小值。
nums = [1, 2, 3, 4]
print(max(nums)) # 输出4
print(min(nums)) # 输出1
[此处插入一张数轴图,分别标记出负数、0 和正数,直观展示 abs 函数的作用,即把负数映射到对应的正数位置]
(二)数据类型转换函数
- int():将一个字符串或数字转换为整数。
s = "10"
print(int(s)) # 输出10
- float():将一个字符串或数字转换为浮点数。
s = "10.5"
print(float(s)) # 输出10.5
- str():将对象转换为字符串。
num = 10
print(str(num)) # 输出"10"
[此处插入一个数据类型转换关系图,展示 int、float、str 等常见类型之间如何相互转换]
(三)序列操作函数
- len():返回序列(如字符串、列表、元组)的长度。
s = "hello"
print(len(s)) # 输出5
- range():生成一个整数序列,常用于循环。
for i in range(5):
print(i) # 输出0 1 2 3 4
- enumerate():用于将一个可迭代对象组合为一个索引序列,同时列出数据和数据下标。
fruits = ["apple", "banana", "cherry"]
for i, fruit in enumerate(fruits):
print(i, fruit)
# 输出
# 0 apple
# 1 banana
# 2 cherry
- sorted():对可迭代对象进行排序,返回一个新的已排序列表。
nums = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_nums = sorted(nums)
print(sorted_nums) # 输出[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
如果要对列表进行降序排序,可以使用reverse=True参数:
nums = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_nums_descending = sorted(nums, reverse=True)
print(sorted_nums_descending) # 输出[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
[此处插入一个列表排序前后的对比图,展示 sorted 函数如何对列表元素重新排列]
(四)映射与过滤函数
- map():接受一个函数和一个或多个可迭代对象作为参数,将函数应用到每个可迭代对象的元素上,并返回一个迭代器。
def square(x):
return x * x
nums = [1, 2, 3, 4]
squared_nums = list(map(square, nums))
print(squared_nums) # 输出[1, 4, 9, 16]
也可以使用 lambda 表达式简化代码:
nums = [1, 2, 3, 4]
squared_nums = list(map(lambda x: x * x, nums))
print(squared_nums) # 输出[1, 4, 9, 16]
- filter():接受一个函数和一个可迭代对象作为参数,过滤掉可迭代对象中使函数返回 False 的元素,返回一个迭代器。
def is_even(x):
return x % 2 == 0
nums = [1, 2, 3, 4, 5, 6]
even_nums = list(filter(is_even, nums))
print(even_nums) # 输出[2, 4, 6]
同样可以使用 lambda 表达式:
nums = [1, 2, 3, 4, 5, 6]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums) # 输出[2, 4, 6]
[此处插入一个流程图,展示 map 和 filter 函数的执行过程,map 函数如何对每个元素应用函数,filter 函数如何筛选元素]
(五)文件操作函数
- open():用于打开一个文件,返回一个文件对象。
file = open("test.txt", "r")
content = file.read()
print(content)
file.close()
[此处插入一张文件系统的示意图,展示 open 函数如何定位并打开磁盘上的文件]
(六)反射函数
- dir():返回一个对象的所有属性和方法。
class MyClass:
def __init__(self):
self.x = 10
def my_method(self):
pass
obj = MyClass()
print(dir(obj))
- getattr():获取对象的指定属性值。
class MyClass:
x = 10
obj = MyClass()
value = getattr(obj, "x")
print(value) # 输出10
[此处插入一个类的属性和方法的示意图,展示 dir 函数如何列出类的所有属性和方法,以及 getattr 函数如何获取指定属性的值]
(七)其他常用函数
- print():用于输出数据到控制台。
print("Hello, World!")
- input():从标准输入读取用户输入。
name = input("请输入你的名字:")
print(f"你好,{name}")
二、相似内置函数对比
函数 1 | 函数 2 | 区别 | 示例 |
---|---|---|---|
range() | xrange ()(Python 2 中) | range 在 Python 2 中返回列表,xrange 返回生成器;Python 3 中只有 range,返回可迭代的 range 对象,更节省内存。 | Python 2 中:for i in range(10): pass for i in xrange(10): pass Python 3 中:for i in range(10): pass |
map() | list comprehension | map 是内置函数,接受函数和可迭代对象,对每个元素应用函数;列表推导式语法更简洁,可读性强。 | map: result = list(map(lambda x: x * 2, [1, 2, 3])) 列表推导式: result = [x * 2 for x in [1, 2, 3]] |
三、总结
Python 内置函数是编程中不可或缺的工具,涵盖了数学运算、数据类型转换、序列操作等多个方面。通过熟练掌握这些函数,可以提高代码的简洁性和效率。在实际编程中,要根据具体需求选择合适的内置函数,并注意函数的参数和返回值类型。
TAG: Python、内置函数、编程教程、数据处理、函数示例
相关学习资源
-
Python 官方文档:https://docs.python.org/3/library/functions.html
-
Tekin的Python专栏文章: Python 实用知识与技巧分享,涵盖基础、爬虫、数据分析等干货 本 Python 专栏聚焦实用知识,深入剖析基础语法、数据结构。分享爬虫、数据分析等热门领域实战技巧,辅以代码示例。无论新手入门还是进阶提升,都能在此收获满满干货,快速掌握 Python 编程精髓。