本文共 4028 字,大约阅读时间需要 13 分钟。
Python中的内置函数和常用函数在编程过程中起着至关重要的作用。了解这些函数的分类和功能,有助于提高代码的效率和可读性。以下是对Python内置函数和常用函数的详细分类和介绍。
1. Python的内置函数与标准库的区别
内置函数:解释器自带的函数,可以直接使用,无需导入模块。例如,print()、input()、help()等函数随解释器启动而生效,使用频率高,执行效率也较高。
标准库函数:位于Python解释器的外部,需要导入对应的模块后才能使用。例如,math.sin()需要导入math模块。
2. 常用内置函数分类
2.1 入门函数
-
input():接受标准输入,返回字符串。
- 语法:input([提示信息])
- 例子:text = input("请输入信息:"),print("收到的数据是:%s" % (text))
-
print():输出打印信息。
- 语法:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- 参数:sep(默认为空格),end(默认换行符),flush(默认False)
-
help():查看函数或模块的详细信息。
2.2 数学函数
-
sum():对序列求和。
- 语法:sum(seq, [number])
- 例子:sum([2,3,4])返回9
-
max():返回序列最大值。
- 语法:max(a, b, c, ...)
- 例子:max(2,3,4,5)返回5
-
min():返回序列最小值。
- 语法:min(a, b, c, ...)
- 例子:min(2,3,4,5)返回2
-
divmod():返回商和余数。
- 语法:divmod(a, b)
- 例子:divmod(10,2)返回(5,0)
-
abs():返回数字的绝对值。
- 语法:abs(a)
- 例子:abs(-2.3)返回2.3
-
pow():计算幂。
- 语法:pow(x, y)
- 例子:pow(3,3)=27,pow(2,3,3)=2
-
round():四舍五入浮点数。
- 语法:round(x, n)
- 例子:round(3.326,2)返回3.33
2.3 数据类型函数
-
int():将字符串或数字转换为整数。
- 语法:int(x)
- 例子:int('3')返回3,int(4.5)返回4
-
str():将数据转换为字符串。
- 语法:str(data)
- 例子:str([12,13])返回'[12, 13]'
-
bool():转换为布尔值。
- 语法:bool(x)
- 例子:bool(1)返回True,bool('hello')返回True
-
float():转换为浮点数。
- 语法:float(x)
- 例子:float(32)返回32.0,float('32')返回32.0
-
tuple():将序列转换为元祖。
- 语法:tuple(seq)
- 例子:tuple(['a',1,3])返回('a',1,3)
-
list():将序列转换为列表。
- 语法:list(seq)
- 例子:list((1,2,3,5))返回[1,2,3,5]
-
dict():创建字典。
- 语法:dict(**kwarg)
- 例子:dict(a=1,b=2)返回{'a':1,'b':2}
-
set():创建无序不重复集合。
- 语法:set(seq)
- 例子:set('hello')返回{'h','e','l','o'}
2.4 序列迭代器函数
-
len():返回序列长度。
- 语法:len(seq)
- 例子:len((1,2,3,4,5))返回5
-
slice():返回切片对象。
- 语法:slice(start, end, step)
- 例子:slice(2,4)返回索引2和3的元素
-
sorted():排序可迭代对象。
- 语法:sorted(iterable, cmp=None, key=None, reverse=False)
- 例子:sorted([3,7,23,4,9])返回[3,4,7,9,23]
-
reverse():反转列表。
- 语法:list.reverse()
- 例子:lst = [3,45,6],reverse后为[6,45,3]
-
filter():过滤序列。
- 语法:filter(function, iterable)
- 例子:filter(qos, [1,23,77,4,5,67,8,9])返回[4,8]
-
all():判断所有元素为True。
- 语法:all(iterable)
- 例子:all((1,0,-1))返回False
-
any():判断至少一个元素为True。
- 语法:any(iterable)
- 例子:any([1,0,-1])返回True
-
iter():生成迭代器。
- 语法:iter(object)
- 例子:iter(["java","python","c++"])返回迭代器对象
-
next():获取迭代器下一个元素。
- 语法:next(iterable, [default])
- 例子:next(lst,"c++")返回默认值
-
range():生成数字序列。
- 语法:range([start], end, [step])
- 例子:range(6)生成0,1,2,3,4,5
-
enumerate():结合索引和数据。
- 语法:enumerate(iterable)
- 例子:enumerate(['java','go','php'])返回[(0,'java'),(1,'go'),(2,'php')]
-
zip():打包多个序列。
- 语法:zip(*iterables)
- 例子:zip((4,5,6),(1,2,3))返回[(4,1),(5,2),(6,3)]
-
map():应用函数到多个元素。
- 语法:map(function, *iterables)
- 例子:map(str, [1,2,3])返回['1','2','3']
2.5 对象函数
2.6 对象操作函数
-
format():字符串格式化。
- 语法:"{}".format("字符串")
- 例子:"hello {}".format("python")返回'hello python'
-
repr():返回对象的官方字符串。
- 语法:repr(object)
- 例子:repr(1/7)返回'0.142857142857'
-
eval():执行字符串表达式。
-
exec():执行代码块。
- 语法:exec("代码")
- 例子:exec('def get_result(sc): if sc > 60: print("及格") else: print("不及格")')
-
open():打开文件。
- 语法:open(file, mode)
- 例子:f = open('a.txt'),f.read()读取内容
2.7 属性相关函数
-
setattr():设置对象属性。
- 语法:setattr(object, name, value)
- 例子:setattr(s, 'age', 21)
-
getattr():获取对象属性。
- 语法:getattr(object, name, default)
- 例子:getattr(s, 'name')返回'zhangsan'
-
hasattr():检查对象属性存在。
- 语法:hasattr(object, name)
- 例子:hasattr(s, 'name')返回True,hasattr(s, 'age')返回False
-
delattr():删除对象属性。
- 语法:delattr(object, name)
- 例子:delattr(Student, 'name')
-
property():将方法转换为属性。
- 语法:@property/@property.setter
- 例子:@property def age(self): return self._age;@age.setter def age(self, value): ...,调用方式:s.age = 23
-
vars():返回对象属性和方法的字典。
- 语法:vars(object)
- 例子:vars(Student)返回类属性和方法。
3. 其他内置函数
- 匿名函数(lambda):简短的函数,用于一次性操作。
- 语法:lambda arguments: expression
- 例子:double = lambda x: x * 2
通过系统地学习和掌握这些内置函数,可以显著提高Python编程的效率和代码质量。
转载地址:http://qxofk.baihongyu.com/