python全栈开发-Day13 内置函数
Posted 明天的希望,让我们忘了今天的痛苦。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python全栈开发-Day13 内置函数相关的知识,希望对你有一定的参考价值。
一、内置函数
注意:内置函数id()可以返回一个对象的身份,返回值为整数。
这个整数通常对应与该对象在内存中的位置,但这与python的具体实现有关,不应该作为对身份的定义,即不够精准,最精准的还是以内存地址为准。
is运算符用于比较两个对象的身份,等号比较两个对象的值,内置函数type()则返回一个对象的类型
#更多内置函数:https://docs.python.org/3/library/functions.html?highlight=built#ascii
二、内置函数详情
1、abs(x)
功能:取数的绝对值
1
2
|
>>> abs ( - 1 ) #取-1的绝对值 1 |
2、all(iterable)
功能:如果这个可迭代的元素都为真,则返回真(非0的就为真,负数也是为真)
1
2
3
4
|
>>> all ([ 0 , 9 ,- 3 ]) #有0,说明为假 False >>> all ([- 1 ,
5 , 6 ]) #负数也是为真 True |
3、any(iterable)
功能:可迭代的元素中,有一个为真,则返回真,没有真或空列表返回假。
1
2
3
4
|
>>> any ([ 0 , 0 , 2 ]) #有一个为真,则为真 True >>> any ([]) #空列表为假 False |
4、ascii(object)
功能:把内存对象变成一个可打印的字符串格式
1
2
|
>>> a = ascii([ 1 , 2 , 3 , 4 ]) >>> print(type(a),[a]) |
5、bin(x)
功能:把一个整数转换成二进制
1
2
3
4
|
>>> bin ( 300 ) #把300转换成二进制 \'0b100101100\' >>> bin ( 1 ) \'0b1\' |
6、bool([x])
功能:返回一个布尔值,空列表为假,不为空为真
1
2
3
4
5
6
|
>>> bool ([]) #空列表 False >>> bool ([ 1 , 2 ]) #不为空列表 True >>> bool ([ 0 ]) True |
7、bytearray[source[, encoding[, errors]]]
功能:字节数组,并且可以修改二进制的字节
1
2
3
4
5
6
|
>>> b = bytearray( "abcd" ,encoding = "utf-8" ) #声明一个字节数组 >>> b[ 0 ] #打印第一个元素的ascii值,也就是\'a\'对应的ascii值 97 >>> b[ 0 ] = 100 #修改时,只能赋值对应字符的ascii值 >>> b bytearray(b \'dbcd\' ) #发现字节数组值被修改 |
8、bytes([source[, encoding[, errors]]])
功能:把字符串转换成字节
1
2
3
4
5
6
7
8
9
|
>>> b = bytes( "abcd" ,encoding = "utf-8" ) #声明字节 >>> b b \'abcd\' >>> b[ 0 ] #访问到\'a\'字符对应的ASCII值 97 >>> b[ 0 ] = 100 #不可以修改里面的值,不然会报错 Traceback (most recent call last): File "<input>" , line 1 , in <module> TypeError: \'bytes\' object does not support item assignment |
9、callable(object)
功能:判断一个对象是否可以被调用,只有在后面有括号的,表示可以调用,比如:函数,类。
1
2
3
4
5
|
>>> callable ([]) #列表后面不加括号 False >>> def sayhi(): pass #定义一个函数 >>> callable (sayhi) #函数调用,后面需要加括号 True |
10、chr(i)
功能:通过ascii的值(必须是数字),找到对应的字符
1
2
|
>>> chr ( 97 ) \'a\' |
11、ord(c)
功能:根据字符(必须ascii的字符),找到对应的ascii值
1
2
|
>>> ord ( \'a\' ) 97 |
12、complex([real[, imag]])
功能:返回一个复数,我们几乎用不到。
1
2
|
>>> complex ( \'1+2j\' ) ( 1 + 2j ) |
13、dict(**kwarg)、dict(mapping, **kwarg)、dict(iterable, **kwarg)
功能:返回一个字典
1
2
3
4
5
6
7
8
|
>>> dict () #定义一个字典 {} >>> dict (name = \'qianduoduo\' ,age = 18 ) #传入非固定关键字参数 { \'name\' : \'qianduoduo\' , \'age\' : 18 } >>> dict ([( \'name\' , \'qianduoduo\' ),( \'age\' , 18 )]) #传入一个列表 { \'name\' : \'zhangqigao\' , \'age\' : 18 } >>> dict ([[ \'name\' , \'qianduoduo\' ],[ \'age\' , 18 ]]) #传入一个列表 { \'name\' : \'qianduoduo\' , \'age\' : 18 } |
14、dir([object])
功能:看一个对象有哪些方法
1
2
3
4
5
6
7
8
|
>>> name = [] >>> dir (name) #显示name下的所有的方法 [ \'__add__\' , \'__class__\' , \'__contains__\' , \'__delattr__\' , \'__delitem__\' , \'__dir__\' , \'__doc__\' , \'__eq__\' , \'__format__\' , \'__ge__\' , \'__getattribute__\' , \'__getitem__\' , \'__gt__\' , \'__hash__\' , \'__iadd__\' , \'__imul__\' , \'__init__\' , \'__iter__\' , \'__le__\' , \'__len__\' , \'__lt__\' , \'__mul__\' , \'__ne__\' , \'__new__\' , \'__reduce__\' , \'__reduce_ex__\' , \'__repr__\' , \'__reversed__\' , \'__rmul__\' , \'__setattr__\' , \'__setitem__\' , \'__sizeof__\' , \'__str__\' , \'__subclasshook__\' , \'append\' , \'clear\' , \'copy\' , \'count\' , \'extend\' , \'index\' , \'insert\' , \'pop\' , \'remove\' , \'reverse\' , \'sort\' ] |
15、divmod(a,b)
功能:地板除,获得一个元组,元组第一个元素是商,第二个元素是余数。
1
2
|
>>> divmod ( 5 , 2 ) ( 2 , 1 ) #2是商,1是余数 |
16、enumerate(iterable,start=0) 购物车的列表用到了,
功能:遍历一个可迭代对象,获取索引和对应的元素的
1
2
3
4
5
|
>>> 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\' )] |
17、eval(expression, globals=None, locals=None)
功能:把字典类型的字符串变成字典,把一个整数类型的字符变成int类型,或者加减乘除这种简单转换成表达式。
1
2
3
4
|
>>> eval ( \'1\' ) #字符类型转换成int类型 1 >>> eval ( "1+3/2*6" ) #字符串转换为表达式 10.0 |
18、filter(function, iterable)
功能:通过function过滤条件,去获取iterable中你想要的数据。
1
2
3
4
5
6
7
8
9
|
>>> res = filter ( lambda n:n> 5 , range ( 10 )) >>> res #得到一个迭代器 < filter object at 0x0000000003093BE0 > >>> for i in res: print (i) 6 7 8 9 |
19、map(function, iterable)
功能:对传入的每一个值进行处理,处理完了再返回,再把原来的结果覆盖掉。
1
2
3
4
5
6
7
8
9
10
|
>>> res = map ( lambda n:n * 2 , range ( 5 )) #n*2是处理方式 >>> res < map object at 0x00000000031B4BE0 > >>> for i in res: print (i) 0 2 4 6 8 |
20、reduce(function,iterable)
功能:把一组可迭代序列通过function函数操作,元素之间相加或者相乘操作。
1
2
3
4
5
6
7
|
>>> from functools import reduce >>> res = reduce ( lambda x,y:x + y, range ( 10 )) #x+y的值赋给x,rang(10)中的每个元素赋给y >>> res 45 >>> res = reduce ( lambda x,y:x * y, range ( 1 , 10 )) #x*y的值赋给x,rang(10)中的每个元素赋给y >>> res 362880 |
21、float([x])
功能:把一个浮点类型的字符串转换为浮点类型的数据。
1
2
3
4
5
6
7
8
9
10
|
>>> float ( \'+1.23\' ) 1.23 >>> float ( \' -12345\\n\' ) - 12345.0 >>> float ( \'1e-003\' ) 0.001 >>> float ( \'+1E6\' ) 1000000.0 >>> float ( \'-Infinity\' ) - inf |
22、format(value[, format_spec])
功能:格式话字符串,前面字符串拼接讲过
23、frozenset([iterable])
功能:把集合变成一个不可变的集合
1
2
3
4
5
6
7
8
9
10
|
>>> res = frozenset ([ 1 , 2 , 3 , 4 , 3 ]) >>> res frozenset ({ 1 , 2 , 3 , 4 }) #去重的,不可变的集合 >>> dir (res) #没有可变的方法 [ \'__and__\' , \'__class__\' , \'__contains__\' , \'__delattr__\' , \'__dir__\' , \'__doc__\' , \'__eq__\' , \'__format__\' , \'__ge__\' , \'__getattribute__\' , \'__gt__\' , \'__hash__\' , \'__init__\' , \'__iter__\' , \'__le__\' , \'__len__\' , \'__lt__\' , \'__ne__\' , \'__new__\' , \'__or__\' , \'__rand__\' , \'__reduce__\' , \'__reduce_ex__\' , \'__repr__\' , \'__ror__\' , \'__rsub__\' , \'__rxor__\' , \'__setattr__\' , \'__sizeof__\' , \'__str__\' , \'__sub__\' , \'__subclasshook__\' , \'__xor__\' , \'copy\' , \'difference\' , \'intersection\' , \'isdisjoint\' , \'issubset\' , \'issuperset\' , \'symmetric_difference\' , \'union\' ] |
注:set()是可变的
24、globals()
功能:返回当前这个python文件中的所有变量的key-value,变量是key,值是value
1
2
3
4
5
6
7
|
print ( globals ()) #输出 { \'__spec__\' : None , \'__name__\' : \'__main__\' , \'__file__\' : \'D: / PycharmProjects / pyhomework / day4 / 内置函数 / 内置函数.py \', \' __doc__ \': None, \' __package__ \': None, \' __loader__\': <_frozen_importlib_external.SourceFileLoader object at 0x0000000000695B00 >, \'__cached__\' : None , \'__builtins__\' : <module \'built |
注:可以判断一个文件中的变量是否存在,而globals()只能打印全局变量
25、help([object])
功能:显示对象的帮助信息
1
2
3
4
5
6
7
8
9
10
11
|
>>> res = [] #定义一个列表 >>> help (res) #打印帮助信息 Help on list object : class list ( object ) | list () - > new empty list | list (iterable) - > new list initialized from iterable\'s items | | Methods defined here: | ..... |
26、hex(x)
功能:把一个数字转成16进制
1
2
3
4
|
>>> hex ( 255 ) \'0xff\' >>> hex ( 10 ) \'0xa\' |
27、id(object)
功能:返回对象的内存地址
1
2
|
>>> id ( \'zhangqigao\' ) 50993136 #\'zhangqigao\'这个字符串的内存地址 |
28、input([prompt])
功能:输入字符串
1
2
3
4
|
>>> s = input ( \'--> \' ) - - > Monty Python\'s Flying Circus #输入的内容 >>> s "Monty Python\'s Flying Circus" |
29、int(x)
<以上是关于python全栈开发-Day13 内置函数的主要内容,如果未能解决你的问题,请参考以下文章