全部内置函数列表:
函数分类效果图:
https://www.processon.com/view/link/597fcacfe4b08ea3e2454ece?pw=G76Z
G76Z
68个函数,6大类:
一、作用域相关
globals()——获取全局变量的字典
locals()——获取执行本方法所在命名空间内的局部变量的字典
二、其他
1、字符串类型代码的执行:
eval() 将字符串类型的代码执行,有返回值
exec()将字符串类型的代码执行,无返回值
compile 将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。
compile参数说明:
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,10): print (i)'
compile1 = compile(code1,'','exec')
exec(compile1)
0
1
2
3
4
5
6
7
8
9
2、输入输出相关:
input() 输入
print() 输出:
print源码剖析:
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
file: 默认是输出到屏幕,如果设置为文件句柄,输出到文件
sep: 打印多个值之间的分隔符,默认为空格
end: 每一次打印的结尾,默认为换行符
flush: 立即把内容输出到流文件,不作缓存
"""
打印进度条:
import time
for i in range(0,101,2):
time.sleep(0.1)
char_num = i//2 #打印多少个'*'
per_str = '\r%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num)
print(per_str,end='', flush=True)
3、内存相关:
id(o) o是参数,返回一个变量的内存地址
hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。
t = (1,2,3)
l = [1,2,3]
print(hash(t)) #可hash
print(hash(l)) #会报错
hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。
*每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。
4、文件操作相关:
open() 打开一个文件,返回一个文件操作符(文件句柄)
操作文件的模式有r,w,a,r+,w+,a+ 共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)
可以用encoding指定编码.
5、模块操作相关:
import导入一个模块 import time
6、帮助方法:
在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出
或者直接执行help(o),o是参数,查看和变量o有关的操作。。。
7、调用相关:
callable(o),o是参数,看这个变量是不是可调用。
如果o是一个函数名,就会返回True
8、查看参数所属类型的所有内置方法:
dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量
三、基础数据类型——和数字相关:
数据类型相关:bool,int,float,complex
进制转换相关:bin,oct,hex
数学运算:abs,divmod,min,max,sum,round,pow
三、基础数据类型——和数据结构相关:
序列——列表和元组相关的:list和tuple
序列——字符串相关的:str,format,bytes,bytearry,memoryview,ord,chr,ascii,repr
format: http://www.cnblogs.com/Eva-J/articles/7266245.html
重点掌握:
filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
map函数应用于每一个可迭代的项,返回的是一个结果list。如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
filter的结果集合 <= 执行之前的个数,filter只管筛选,不会改变原来的值
map 执行前后元素个数不变,值可能发生改变
def is_odd(x):
return x % 2 == 1
ret = filter(is_odd, [1, 6, 7, 12, 17])
print(ret)
for i in ret:
print(i)
<filter object at 0x0025E3D0>
1
7
17
ret = map(abs,[1,-4,6,-8])
print(ret)
for i in ret:
print(i)
1
4
6
8
zip:
l = [1,2,3,4,5]
l2 = ['a','b','c','d']
l3 = ('*','**',[1,2])
d = {'k1':1,'k2':2}
for i in zip(l,l2,l3,d):
print(i)
(1, 'a', '*', 'k1')
(2, 'b', '**', 'k2')
sorted:
对给定的List L进行排序,
方法1.sort进行排序,在原列表的基础上进行排序
方法2.sorted进行排序,生成了一个新列表 不改变原列表 占内存
l = [1,-4,6,5,-10]
l.sort(key = abs) # 在原列表的基础上进行排序
print(l)
[1, -4, 5, 6, -10]
l = [1,-4,6,5,-10]
print(sorted(l,key=abs,reverse=True)) # 生成了一个新列表 不改变原列表 占内存
print(l)