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 1in <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)
(21)    #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(expressionglobals=Nonelocals=None)

功能:把字典类型的字符串变成字典,把一个整数类型的字符变成int类型,或者加减乘除这种简单转换成表达式。

1
2
3
4
>>> eval(\'1\')  #字符类型转换成int类型
1
>>> eval("1+3/2*6")   #字符串转换为表达式
10.0

18、filter(functioniterable)

功能:通过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 in res:
    print(i)
6
7
8
9

19、map(functioniterable)

功能:对传入的每一个值进行处理,处理完了再返回,再把原来的结果覆盖掉。

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 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({1234})   #去重的,不可变的集合
>>> 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 内置函数的主要内容,如果未能解决你的问题,请参考以下文章

Python全栈开发Day4

Python全栈开发,Day16 - Web前端-JavaScript

python全栈开发从入门到放弃之内置函数

Python全栈开发day5

python全栈开发-Day8 函数基础

Python全栈-day8-day9