说起内置函数,脑壳痛,然后整理了下。
这么看着比较舒服了。
先从分类中少的说起吧
作用域相关:
global():获取全局变量的字典。
local():获取执行本方法所在命名空间内的局部变量的字典(在全局中执行得到的结果与global()得到的结果相同)。
迭代器生成器相关:
next():调用迭代器或生成器中的一个值
iter():iterable.iter() = itertor
range():range(起始位置) range(起始位置,结束位置) range(起始位置,结束位置,步长)
文件操作相关:
open()
open() 打开一个文件,返回一个文件操作符(文件句柄)
操作文件的模式有r,w,a,r+,w+,a+ 共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)
可以用encoding指定编码
输入输出相关:
input():用法
s = input('请输入内容:') #输入的内容为字符串类型
print(s)
print():
#源码分析
def print(self,*args,sep='',end='
',file=None) # known special case of print
'''
print(value, ..., sep=' ', end='
', file=sys.stdout, flush=False)
file:默认输出到屏幕,如果设置为文件句柄,则输到屏幕
sep: 打印多个输出值之间的分隔符,默认为空格
end:每次打印的结尾,默认为换行
flush:立即把内容输出到流文件,不作缓存
'''
输出到文件:
f = open('tmp_file','w')
print(123,456,sep=',',file = f,flush=True)
利用flush关键字写个进度条
import time
for i in range(0,101,2):
time.sleep(0.1)
num = i//2
tu = '
%s%% %s'%(i, '#'*num) #
作用是把光标移到行首单不换行
print(tu,end='',flush=True) #flush默认是False 改为True刷新每次输出
内存相关:
id(x):x是参数,返回一个变量x的内存地址
hash(x):x是参数,返回一个可hash变量的哈西值,如果x是不可哈希变量则会报错
t = (1,2,3)
l = [1,2,3]
print(hash(t)) #可hash
print(hash(l)) #会报错
hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。
*每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。
字符串类型代码的执行:
eval:可以将字符串数据类型的python代码执行,通过拼接字符串的方式来执行不同的代码--简化代码
eval('print(1+2+3+4)') # 有返回值
ret = eval('1+2/3*4')
print(ret)
exec:跟eval作用相同,区别是没有返回值
compile:可以节省时间
用法:
code1 = 'for i in range(0,10): print (i)' # 这是一句代码 字符串
compile1 = compile(code1,'','exec') # 预编译 python-> 字节码
exec (compile1) # 解释
帮助
help:
使用:在pycharm的工作台中选中Python Console
方式一:输入help() 进入帮助页面,输入要查的数据类型,帮助我们打印具体的信息。q退出帮助
方式二:print(help(str)) print(help('abc'))
查看内置属性:
dir():研究或了解一个新型的数据类型时用到
用法:
print(dir('需要查看的数据变量'))
调用相关
callable:callable(o),o是参数,看这个变量是不是可调用
def func():pass
print(callable(func)) #参数是函数名,可调用,返回True
print(callable(123)) #参数是数字,不可调用,返回False
模块相关
__import__
导入一个模块
import time
os = __import__('os')
print(os.path.abspath('.'))
剩下的下次更。。。