Python内置函数详解——总结篇
国庆期间下定决⼼打算学习Python,于是下载安装了开发环境。然后问题就来了,怎么开始呢?纠结⼀番,还是从官⽅帮助⽂档开始吧。可是全是英⽂啊,英语渣怎么破?那就边翻译边看边实践着做吧(顺便吐槽下百度翻译,同样的语句百度翻译出来的结果和⾕歌翻译出来的结果差的不是⼀丢丢)。鉴于以往学习语⾔的经历,怕⾃⼰⼜向之前⼀样学了段时间之后⼜不了了之,也为了记录下学习过程的⾃⼰的⼀些理解和体会,所以硬着头⽪决定开始了这个系列——Python内置函数详解。我知道可能技术含量不好,可能其中还有些错误,但是⼈呢,总要有所坚持,才能有所收获吧。
2个多⽉来,将3.5版本中的68个内置函数,按顺序逐个进⾏了⾃认为详细的解析,现在是时候进⾏个总结了。为了⽅便记忆,将这些内置函数进⾏了如下分类:
数学运算(7个)
类型转换(24个)
序列操作(8个)
对象操作(7个)
反射操作(8个)
变量操作(2个)
交互操作(2个)
⽂件操作(1个)
编译执⾏(4个)
装饰器(3个)
abs:求数值的绝对值
>>> abs(-2)
2
divmod:返回两个数值的商和余数
>>> divmod(5,2)
(2, 1)
>> divmod(5.5,2)
(2.0, 1.5)
max:返回可迭代对象中的元素中的最⼤值或者所有参数的最⼤值
>>> max(1,2,3) # 传⼊3个参数取3个中较⼤者
3
>>> max('1234') # 传⼊1个可迭代对象,取其最⼤元素值
'4'
>>> max(-1,0) # 数值默认去数值较⼤者
>>> max(-1,0,key = abs) # 传⼊了求绝对值函数,则参数都会进⾏求绝对值后再取较⼤者-1
min:返回可迭代对象中的元素中的最⼩值或者所有参数的最⼩值
>>> min(1,2,3) # 传⼊3个参数取3个中较⼩者
1
>>> min('1234') # 传⼊1个可迭代对象,取其最⼩元素值
'1'
>>> min(-1,-2) # 数值默认去数值较⼩者
-2
>>> min(-1,-2,key = abs) # 传⼊了求绝对值函数,则参数都会进⾏求绝对值后再取较⼩者-1
pow:返回两个数值的幂运算值或其与指定整数的模值
>>> pow(2,3)
>>> 2**3
>>> pow(2,3,5)
>>> pow(2,3)%5
round:对浮点数进⾏四舍五⼊求值
>>> round(1.1314926,1)
1.1
>>> round(1.1314926,5)
1.13149
sum:对元素类型是数值的可迭代对象中的每个元素求和
# 传⼊可迭代对象
>>> sum((1,2,3,4))
10
# 元素类型必须是数值型
>>> sum((1.5,2.5,3.5,4.5))
12.0
>>> sum((1,2,3,4),-10)
bool:根据传⼊的参数的逻辑值创建⼀个新的布尔值
>>> bool() #未传⼊参数
False
>>> bool(0) #数值0、空序列等值为False
False
>>> bool(1)
True
int:根据传⼊的参数创建⼀个新的整数
>>> int() #不传⼊参数时,得到结果0。
>>> int(3)
3
>>> int(3.6)
3
float:根据传⼊的参数创建⼀个新的浮点数
>>> float() #不提供参数的时候,返回0.0
0.0
>>> float(3)
3.0
>>> float('3')
3.0
complex:根据传⼊参数创建⼀个新的复数
>>> complex() #当两个参数都不提供时,返回复数 0j。
0j
>>> complex('1+2j') #传⼊字符串创建复数
(1+2j)
>>> complex(1,2) #传⼊数值创建复数
(1+2j)
python新手函数str:返回⼀个对象的字符串表现形式(给⽤户)
>>> str()
''
>>> str(None)
'None'
>>> str('abc')
'abc'
>>> str(123)
'123'
bytearray:根据传⼊的参数创建⼀个新的字节数组
>>> bytearray('中⽂','utf-8')
bytearray(b'\xe4\xb8\xad\xe6\x96\x87')
bytes:根据传⼊的参数创建⼀个新的不可变字节数组
>>> bytes('中⽂','utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
memoryview:根据传⼊的参数创建⼀个新的内存查看对象
>>> v = memoryview(b'abcefg')
>>> v[1]
98
>>> v[-1]
103
ord:返回Unicode字符对应的整数
>>> ord('a')
97
chr:返回整数所对应的Unicode字符
>>> chr(97) #参数类型为整数
'a'
bin:将整数转换成2进制字符串
>>> bin(3)
'0b11'
oct:将整数转化成8进制数字符串
>>> oct(10)
'0o12'
hex:将整数转换成16进制字符串
>>> hex(15)
'0xf'
tuple:根据传⼊的参数创建⼀个新的元组
>>> tuple() #不传⼊参数,创建空元组
()
>>> tuple('121') #传⼊可迭代对象。使⽤其元素创建新的元组('1', '2', '1')
list:根据传⼊的参数创建⼀个新的列表
>>>list() # 不传⼊参数,创建空列表
[]
>>> list('abcd') # 传⼊可迭代对象,使⽤其元素创建新的列表['a', 'b', 'c', 'd']
dict:根据传⼊的参数创建⼀个新的字典
>>> dict() # 不传⼊任何参数时,返回空字典。
{}
>>> dict(a = 1,b = 2) # 可以传⼊键值对创建字典。
{'b': 2, 'a': 1}
>>> dict(zip(['a','b'],[1,2])) # 可以传⼊映射函数创建字典。{'b': 2, 'a': 1}
>>> dict((('a',1),('b',2))) # 可以传⼊可迭代对象创建字典。{'b': 2, 'a': 1}
set:根据传⼊的参数创建⼀个新的集合
>>>set() # 不传⼊参数,创建空集合
set()
>>> a = set(range(10)) # 传⼊可迭代对象,创建集合>>> a
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
frozenset:根据传⼊的参数创建⼀个新的不可变集合
>>> a = frozenset(range(10))
>>> a
frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
enumerate:根据可迭代对象创建枚举对象
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) #指定起始值[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
range:根据传⼊的参数创建⼀个新的range对象
>>> a = range(10)
>>> b = range(1,10)
>>> c = range(1,10,3)
>>> a,b,c # 分别输出a,b,c
(range(0, 10), range(1, 10), range(1, 10, 3))
>>> list(a),list(b),list(c) # 分别输出a,b,c的元素
([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 4, 7]) >>>
iter:根据传⼊的参数创建⼀个新的可迭代对象
>>> a = iter('abcd') #字符串序列
>>> a
<str_iterator object at 0x03FB4FB0>
>>> next(a)
'a'
>>> next(a)
'b'
>>> next(a)
'c'
>>> next(a)
'd'
>>> next(a)
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
next(a)
StopIteration
slice:根据传⼊的参数创建⼀个新的切⽚对象
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论