Python开发必知:8个高频内置函数详解与实战
本文深入解析Python中8个最高频使用的内置函数,涵盖print输出控制、isinstance类型检查、range序列生成、enumerate索引枚举、len长度计算、reversed反转、open文件读写及sorted排序。通过具体代码示例与参数详解,帮助开发者掌握高效编程技巧,提升代码可读性与执行效率。
Python语言提供了丰富的内置功能函数,官方文档中列出了69个之多。在实际开发中,部分函数使用频率极高,而另一些则较少涉及。本文精选了开发者日常使用最频繁的8个函数,并逐一解析其详细用法与注意事项。
print():灵活控制输出格式
print()
print函数通常是Python学习者接触的第一个函数,主要作用是将对象输出到标准输出流。它支持打印任意数量的对象,具体定义如下:
print(*objects, sep=' ', end='', file=sys.stdout, flush=False)
objects参数为可变参数,这意味着你可以一次性传入任意多个对象进行打印。
>>> print(1,2,3)1 2 3
默认情况下,多个对象之间以空格分隔。若需更改分隔符,可通过指定sep参数实现,例如使用逗号分隔。
>>> print(1,2,3, sep=',')1,2,3
默认情况下,对象输出至标准输出流。此外,你也可以通过file参数将内容直接写入文件。
>>> print(1,2,3, sep=',', file=open("hello.txt", "w"))
isinstance():精准判断对象类型
isinstance()
isinstance函数用于判断某个对象是否属于指定类的实例。其函数定义如下:
isinstance(object, classinfo)
classinfo参数既可以是单个类型对象,也可以是由多个类型对象组成的元组。只要object的类型匹配元组中的任意一个类型,函数即返回True,否则返回False。
>>> isinstance(1, (int, str))True>>> isinstance("", (int, str))True>>> isinstance([], dict)False
range():高效生成整数序列
range()
range是一个工厂方法,用于构造一个从[start, stop)(不包含stop)区间内的连续、不可变整数序列对象。该序列在功能上与列表相似,具体定义如下:
range([start,] stop [, step]) -> range object
start为可选参数,表示序列的起始值,默认为0。
stop为必选参数,表示序列的终点值(不包含该值)。
step为可选参数,表示序列的步长,默认为1。生成的元素遵循公式 r[i] = start + step*i。
生成0至5的列表示例
>>> >>> range(5)range(0, 5)>>> >>> list(range(5))[0, 1, 2, 3, 4]>>>
默认情况下,range从0开始,生成0到4之间的5个整数(不包含5)。此时step默认为1,即每次递增1。
若需将某个操作重复执行n次,可结合for循环与range函数实现。
>>> for i in range(3):... print("hello python")...hello pythonhello pythonhello python
设置步长为2的情况
>>> range(1, 10, 2)range(1, 10, 2)>>> list(range(1, 10, 2))[1, 3, 5, 7, 9]
当起点为1,终点为10,步长为2时,每次在前一个元素基础上加2,从而生成1到10之间的所有奇数。
enumerate():便捷获取索引与元素
enumerate()
enumerate函数用于枚举可迭代对象,同时返回每个元素的下标索引值。其函数定义如下:
enumerate(iterable, start=0)
例如:
>>> for index, value in enumerate("python"):... print(index, value)...0 p1 y2 t3 h4 o5 n
index参数默认从0开始。若显式指定start参数,则下标索引将从start值开始计数。
>>> for index, value in enumerate("python", start=1):... print(index, value)...1 p2 y3 t4 h5 o6 n
如果不使用enumerate函数,要获取元素的下标索引,则需要编写更多代码:
def my_enumerate(sequence, start=0): n = start for e in sequence: yield n, e n += 1
>>> for index, value in my_enumerate("python"): print(index, value)0 p1 y2 t3 h4 o5 n
len():快速获取容器长度
len
len函数用于获取容器对象中的元素个数。例如,判断列表是否为空时,可以使用len函数。
>>> len([1,2,3])3>>> len("python")6>>> if len([]) == 0: pass
并非所有对象都支持len操作,例如:
>>> len(True)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: object of type 'bool' has no len()
除了序列对象和集合对象外,自定义类必须实现了__len__方法,才能作用于len函数。
reversed():序列反转技巧
reversed()
reversed函数用于反转序列对象。你可以对字符串、列表或元组进行反转操作。
>>> list(reversed([1,2,3]))[3, 2, 1]
open():文件读写核心函数
open()
open函数用于构造文件对象,构建后可对其进行内容的读写操作。
open(file, mode='r', encoding=None)
读操作示例
# 从当前路径打开文件 test.txt,默认以读的方式
>>>f = open("test.txt")>>>f.read()...
有时还需要指定编码格式,否则可能会遇到乱码问题。
f = open("test.txt", encoding='utf8')
写操作示例
>>>f = open("hello.text", 'w', encoding='utf8')>>>f.write("hello python"))
文件中存在内容时,原内容将被覆盖。如果不想覆盖,而是将新内容追加到文件末尾,可以使用a模式。
f = open("hello.text", 'a', encoding='utf8')f.write("!!!")
sorted():安全排序返回新对象
sorted()
sorted函数用于对列表进行重新排序。当然,其他可迭代对象也支持重新排列,该函数返回一个新对象,而原对象保持不变。
>>> sorted([1,4,2,1,0])[0, 1, 1, 2, 4]
以上所述是小编给大家介绍的Python常用的内置函数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









