Python提供了,许多内置的函数我们按 函数的作用来分类:

一、作用域相关的内置函数(2个)

(1)、globals() 更改全局变量

(2)、locals()更改局并命名空间的变量(上一级)

五、其他

1、字符串类型代码的执行(3)

  (1)、eval()  将字符串类型得代码执行并返回结果

    print(eval(('1+2+3+4'))) #输出10

  (2)、exec()将字符串类型的代码执行 

print(exec("1+2+3+4"))
exec("print('hello,world')")
#输出 None
#hello,world

  (3)、compile将字符串类型的代码编译,代码对象能通过exec语句来执行或者eval()进行求值  

    1. 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。  

    2. 参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。  

    3. 参数model:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,model应指定为‘exec’;当source中只包含一个简单的求值表达式,model应指定为‘eval’;当source中包含了交互式命令语句,model应指定为'single'。

code1 = 'for i in range(0,3): print (i)'
compile1 = compile(code1,'','exec')
exec (compile1)
#输出0,1,2

2、输入输出

(1)input,print

 test = input('请输入')#输入的内容显示在屏幕上
print(test)#在屏幕上显示所打印的东西

3、内存相关

(1)、id

a = 1
print(id(a))
#140705006216016 变量内存地址

4、文件系统相关

(1)open :打开一个文件 操作模式,r,读,W,写,a追加 每一种模式都可以用二进制的方式操作(rb,ab,wb)可以指定enconding比吗

f = open('file_name','w',encoding='utf-8')
#f 文件句柄,file_name文件名,W ,写模式,'utf-8'编码模式

5、帮助

(1)help

# help()
#在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出
help(print)
#加参数,此命令的相关文档

6、查看参数所属类型的所有内置方法

(1)dir

print(dir(dict)) #查看dict的内置方法,比如get,pop等等

二、和数字相关

1、数据类型

(1)bool 查看bool值类型

bool()#布尔值 print(bool(0)) #输出False

(2)int 整数

a = 1.153
print(int(a))
# 输出1

(3)float 浮点数

a = 1 print(float(a)) #输出1.0

(4)complex 复数,对数学研究的去看看,我对着不感兴趣

2、进制转换(bin,oct,hex)

 num = 18
#转换成二进制
print(bin(num))
#转换成八进制
print(oct(num))
#转换成16进制
print(hex(num))
#输出 0b10010,0o22,0x12

3、数学运算

(1)abs

print(abs(-11))
#

(2)divmod 返回(除,余)

print(divmod(19,2))
#19/2 输出 9,1

(3)round小数精确

print(round(18.885465465,2)) #精确至小数点后两位 ,四舍五入 #18.89

(4)pow幂运算

print(pow(3,3)) #27 3的三次方

(5)sum求和

lis = [1,23,43,5,21]
print(sum(lis))
#输出93

注意:sum只能接收可迭代对象,不能sum(1,2,3,5)

(6)max计算最大值

lis = [1,23,43,5,21]
print(max(lis))
#输出43

(7)min计算最小值

lis = [1,23,43,-5,21]
print(min(lis))
#输出-5
print(min(lis,key=abs))
# 输出1 key可以传方法,也可以传函数

三、和数据结构相关

1、序列

(1)列表和元组[list,tuple]

(2) reversed() 反转序列 【本身有序的序列才可以反转】

ret = reversed([1,2,3,4,5]) for i in ret:#ret 是一个生成器 print(i)

注:

 ret = reversed('123adsaga')
print(''.join(list(ret)))
#拼接成一个新字符串

(3)slice 切片

lis = [1,2,3,4,5] my_slice = slice(1,3,2) print(lis[my_slice])#lis[1:3:2]

2、字符串

(1)str 字符串强转

(2)format格式化

(3)bytes  把一个字符串转成二进制

 t = 'sunjinyao'
by = bytes(t,encoding='utf-8')#转换成UTF-8
print(by.decode('utf -8'))#decode 转换回来
#转换的编码必须一致

(4)bytearray         #array == 数组 

 ret = bytearray('sunjinyao',encoding='utf-8')
print(ret)
#bytearray(b'sunjinyao')
for i in ret:
print(i)#打印的是字符编码
'''117
110
106
105
110
121
97
111
'''

(5)ord 字符按照unicode转成数字

(6)chr 把数字转换字符

print(ord('a')) print(chr(97))

(7)ascii 字符串转ascii

  #print(ascii('你好'))

(8)repr

 print(repr(123))
print(repr(''))
#在解释器里面2个是看不出来类型的,如果加repr就可以看出来

3、数据集合

(1)字典dict

(2)set 集合

(3)frozenset #定义不可变集合

s = set('sunjinyao') s_1 = frozenset(s) print(s_1) (不可删除,不可增加)

4、相关内置函数

(1)len 计算长度

(2)enumerate

  将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

 seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
print(i, element)
'''
输出
0 one
1 two
2 three
'''

(3)all 判断是否有bool值为False的值 # 接受可迭代对象

(4)any 判断是否有bool值为True的值

print(all([1,2,3,4,'']))#一个为假,都是假 print(any([1,2.0]))#有一个就为真,

(5)zip拉链

 lis_1 = (1,2,3,4,5)
lis_2 = ('a','b','c','d')
lis_3 = (9,8,7,6,5)
ret = zip(lis_1,lis_2,lis_3)# 迭代器
for i in ret:
print(i)
'''
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
'''

(6) filter过滤  返回一个迭代器对象

收两个参数,第一个为函数,第二个为序列

 def is_odd(n):
return n % 2 == 1
tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)
#[1, 3, 5, 7, 9]

(7) map  #根据函数的功能对 序列进行操作

 def square(x) :            # 计算平方数
return x ** 2
ret = map(square,[1,2,3,4,5]) # 计算列表各个元素的平方
print(list(ret))
#[1, 4, 9, 16, 25]

(8) sorted 排序

lis = [15,6,4,32,5,57] print(sorted(lis))#排序。默认从小到大

#sorted(lis,reverse=True)  从大到小

05-25 08:17