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)

功能:把其他数据类型强制转换成int类型


1

2

>>> int(‘10‘)

10

30、iter(object[, sentinel])

功能:把一个普通序列转成迭代器


1

2

3

with open(‘mydata.txt‘) as fp:

    for line in iter(fp.readline, ‘‘):

        process_line(line)

31、len(s)

功能:计算序列或者字符串的长度


1

2

3

4

>>> len("zhangqigao")  #字符串的长度

10

>>> len([1,2,3,4,5])  #列表的长度

5

32、list([iterable])

功能:把其他序列转换成一个列表


1

2

>>> list((1,2,3,4,5))   #把一个元组转换为一个列表

[12345]

33、locals()

功能:打印局部变量


1

2

3

4

5

6

7

8

9

10

11

def test():

    locals_var = 333

    print(locals())   #只打印局部变量

test()

print(globals().get("locals_var"))  #只能打印全局变量

#输出

{‘locals_var‘333}

None

34、max(iterable*[, keydefault])

功能:返回列表重点额最大值


1

2

>>> max([1,2,3,4,5])

5

35、min(iterable*[, keydefault])

功能:返回列表中的最小值


1

2

>>> min([1,2,3,4,5])

1

36、next(iterator[, default])

功能:返回迭代器的下一个值,相当于__next__()方法,如果迭代最后一个数据之后没有值了,则会抛出一个StopIteration异常


1

2

3

4

5

6

7

8

9

>>> a = iter([1,2])

>>> next(a)

1

>>> next(a)

2

>>> next(a)

Traceback (most recent call last):

  File "<input>", line 1in <module>

StopIteration

37、object

功能:python中一切皆对象,每一个对象都有它的属性和方法

38、oct(x)

功能:把一个数转成8进制


1

2

3

4

5

6

7

8

>>> oct(7)

‘0o7‘

>>> oct(8)

‘0o10‘

>>> oct(15)

‘0o17‘

>>> oct(16)

‘0o20‘

39、open(filemode=‘r‘buffering=-1encoding=Noneerrors=Nonenewline=Noneclosefd=Trueopener=None)

功能:文件操作,详细介绍:http://www.cnblogs.com/ManyQian/p/8075983.html

40、pow(xy[, z])

功能:返回多少次幂


1

2

>>> pow(2,3)  #相当于2**3

8

41、print(*objectssep=‘ ‘end=‘\n‘file=sys.stdoutflush=False)

功能:打印


1

2

>>> print("zhangqigao")

zhangqigao

42、range(stop)、range(startstop[, step])

功能:生成一个迭代器


1

2

3

4

5

6

>>> range(5)

range(05)

>>> range(1,5)

range(15)

>>> range(1,5,2)

range(152)

43、reversed(seq)

功能:反转一个序列,跟列表中的reversed方法是一样的


1

2

3

4

5

6

7

8

9

10

>>> reversed([1,2,3,4,5])

<list_reverseiterator object at 0x00000000030A2588>  #变成一个迭代器

>>> for in  reversed([1,2,3,4,5]):

...     print(i)

...    

5

4

3

2

1

44、round(number[, ndigits])

功能:四舍五入

45、set([iterable])

功能:集合

46、slice(stop),slice(startstop[, step])

功能:序列的切片,方便多次反复切


1

2

3

4

5

>>> a = [1,2,3,4,5,6]

>>> a[slice(1,3)]

[23]

>>> a[1:3]

[23]

47、sorted(iterable[, key][, reverse])

功能:对一个序列进行排序


1

2

3

4

5

6

7

8

9

>>> sorted([5,3,2,6,8])

[23568]

>>> a = {1:5,6:8,3:6}

>>> sorted(a)  #默认是按key排序

[136]

>>> sorted(a.items())  #按key排序

[(15), (36), (68)]

>>> sorted(a.items(),key = lambda x:x[1])  #按value排序

[(15), (36), (68)]

48、 str(object)

功能:把其他数据类型转换为字符串


1

2

>>> str(1)

‘1‘

49、sum(iterable[, start])

功能:求一个列表的和,元组,集合,前提都是数字类型


1

2

>>> sum([1,2,3,4,5,6])

21

50、tuple([iterable])

功能:把其他序列转换为一个元组


1

2

>>> tuple([1,2,3,4,5])

(12345)

51、type(object) 、type(namebasesdict)

功能:查看一个对象的数据类型


1

2

3

>>> a = ‘qianduoduo‘

>>> type(a)

<class ‘str‘>

注:一切数据类型都是有type()方法产生,它是一切数据类型的根。

52、zip(*iterables)

功能:zip中文意思是拉链的意思,把两个序列一一对应起来。


1

2

3

4

5

6

7

8

9

>>> a = [1,2,3,4]

>>> b=[‘a‘,‘b‘,‘c‘,‘d‘]

>>> for in zip(a,b):

...     print(i)

...    

(1‘a‘)

(2‘b‘)

(3‘c‘)

(4‘d‘)

注:如果a的元素比b的多,则按照元素最少的那个来

PS:有些没有列出来,不是实在用不着,就是后面类的重点,后面还有单独的博客!

原文地址:https://www.cnblogs.com/ManyQian/p/8708864.html

时间: 2024-10-08 10:04:46

python全栈开发-Day13 内置函数的相关文章

Python全栈之路4--内置函数--文件操作

上节重点回顾: 判断对象是否属于某个类,例如: 列表中有个数字,但是循环列表判断长度,用len会报错;因为int不支持len,所以要先判断属于某个类,然后再进行if判断. # isinstance(对象,类名) 判断变量输入的对象是否是属于这个类 # 方法1: temp = [11, 22, "", " ", []] print(isinstance(temp, (str, list, tuple))) # 一旦对象属于这个后面元组的类中的任何一个 就返回true

python全栈闯关--15-内置函数

1.作用域相关 print(locals()) print(globals()) # global 关键字,局部变量可以修改全局变量 # nonlocal 关键字,局部函数中,可以修改上一层函数中的变量 2.迭代器相关 next(迭代器) 等价与迭代器.__next__() 3.内置属相查看 dir 查看函数拥有的方法 4.帮忙 help 返回函数的帮助信息 5.程序调度相关 callable 判断函数是否可以执行,如果是函数返回true,是变量,放回false 6.文件操作相关 open 打开

python全栈开发-Day8 函数基础

python全栈开发-Day8 函数 一 .引子 1. 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码,代码冗余 #3.功能需要扩展时,需要找出所有实现该功能的地方修改之,无法统一管理且维护难度极大  2. 函数是什么? 针对二中的问题,想象生活中的例子,修理工需要实现准备好工具箱里面放好锤子,扳手,钳子等工具,然后遇到锤钉子的场景,拿来锤子用就可以,而无需临时再制造一把锤子. 修理工===>程序员 具备某一功能的工具===>函数

python全栈开发目录

python全栈开发目录 linux命令 初识python python基础数据类型 函数编程.set.深浅拷贝 内置函数 文件操作 装饰器 迭代器和生成器 常用模块 初识类和对象 类和对象(进阶) 反射 异常处理 socket.IO多路复用 线程.进程.协程 HTML CSS JavaScript DOM文档操作 jQuery实例 web框架本质 Tornado mysql基础 mysql进阶 ..... 基本算法 递归--二分法查找 冒泡排序 更多 线程池

Python 全栈开发:python列表List

列表 列表是python中经常使用的数据类型,用于存放多个值. 表现形式:在[ ]内用逗号分隔,可以存放n个任意类型的值 eg: #单一类型 users=['yangli','yite','fixd'] #多类型,列表嵌套 users=['room01',['yangli',20,'音乐'],['yite',20,'篮球'],] 列表常用方法 和 函数 方法 函数 常用的操作 eg: len(list) #len(list) 计算列表的长度 ls = ['a','b','c','d'] leng

Python全栈开发记录_第一篇

Python全栈开发记录只为记录全栈开发学习过程中一些难和重要的知识点,还有问题及课后题目,以供自己和他人共同查看.(代码行数:70行) 知识点1:优先级:not>and 短路原则:and:如果第一个条件的结论为假,那么 and 前后两个条件组成的表达式计算结果一定为假,后面的条件计算机不会进行计算 or:如果第一个条件的结论为真,那么or 前后两个条件组成的表达式计算结果一定为真,后面的条件计算机不会进行计算 知识点2:python区分大小写,常量需全部字母大写(默认这样写) python换行

Python全栈开发【基础三】

Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 总结使用函数的好处: 1.减少代码重用 2.保持一致性,易维护

Python全栈开发【第一篇】:初识Python

Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth

Python全栈开发

Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大,但是理解起来有些困难,因此我尽量用最简单的例子一步步的说明这个原理. 1.不带参数的装饰器 假设我定义了一个函数f,想要在不改变原来函数定义的情况下,在函数运行前打印出start,函数运行后打印出end,要实现这样一个功能该怎么实现?看下面如何用