一、内置函数引入
我们已经了解的有;
print() input() range() next() dir()
str() int() list() set() tuple() dict()
help()
print(help(''))
#print('_2'.isidentifier()) # 是否是标识符,变量名的命名规则适用如此
何为内置函数,python自带的函数,直接可调用!
内置函数总共有68个.
二、内置函数的分类及部分内置函数(55个)功能
1、文件操作(1个)
open() f = open('03_exam') f.writable() f.readable() f.close()
f = open('file','w')
print('aaaa',file=f)
f.close()
2、数据类型(4个)
bool()
int()
float()
complex()
补充知识:复数 —— complex
实数 : 有理数
无理数
虚数 :虚无缥缈的数
5 + 12j === 复合的数 === 复数
6 + 15j
浮点数(有限循环小数,无限循环小数) != 小数 :有限循环小数,无限循环小数,无限不循环小数
浮点数
354.123 = 3.54123*10**2 = 35.4123 * 10
f = 1.781326913750135970
print(f)
3、进制转换(3个)
print(bin(10)) #二进制 0b print(oct(10)) #八进制 0o print(hex(10)) #十六进制 0x
4、数学运算(7个)
1 print(sum([1,2,3])) #sum(iterable,start)只接收可迭代的数据类型 2 3 print(max([1,2,3])) #max(iterable,key,default) 或者 max(*args,key,default) key是函数名,如abs 4 print(min([1,2,3])) #min(iterable,key,default) 或者 min(*args,key,default) 5 6 print(abs(-3)) #取绝对值 7 8 print(pow(2,3)) #pow幂运算 == 2**3 9 print(pow(2,3,3))#2的3次幂,然后取余 10 11 print(divmod(7,2)) # div出发 mod取余 12 print(divmod(9,5)) # 除余 13 print(round(3.14159,3)) #小数位精确
5、序列(13)
1)列表和元组
1 list()
2 tuple()
2)相关内置函数
1 reversed(object) #参数:序列,返回值:反序迭代器
2 slice()
3)字符串
1 str() 2 bytes() #bytes(s,enconding='utf-8') 3 repr() #用于%r格式化输出 4 format()#python3中的格式化输出 5 bytearray()#bytearray(s,enconding='utf-8') 6 memoryview()#memoryview('ILOVEU ',bytes(s,enconding='utf-8')) 7 ord() #字符按照unicode转数字 8 chr() #数字按unicode转字符 9 ascii()#只要是ascii码中的内容,就打印出来,否则就转换成\u
3、其他(12个)
1)、字符串类型代码的行为:eval、exec、compile
1 eval('print(123)') 2 exec('print(123)') 3 print(eval('1+2+3+4')) # 有返回值 4 print(exec('1+2+3+4')) #没有返回值 5 # exec和eval都可以执行 字符串类型的代码 6 # eval有返回值 —— 有结果的简单计算 7 # exec没有返回值 —— 简单流程控制 8 # eval只能用在你明确知道你要执行的代码是什么 9 10 code = '''for i in range(10): 11 print(i*'*') 12 ''' 13 exec(code) 14 15 #compile是编译字符串类型的代码,适合一次编译多次执行的场景,节约时间! 16 code1 = 'for i in range(0,10): print (i)' 17 compile1 = compile(code1,'','exec') 18 exec(compile1) 19 20 code2 = '1 + 2 + 3 + 4' 21 compile2 = compile(code2,'','eval') 22 print(eval(compile2)) 23 24 code3 = 'name = input("please input your name:")' 25 compile3 = compile(code3,'','single') 26 exec(compile3) #执行时显示交互命令,提示输入 27 print(name) 28 name #执行后name变量有值 29 "'pythoner'"
2)、输入输出
1 print() 2 print('我们的祖国是花园',end='') #指定输出的结束符 3 print('我们的祖国是花园',end='') 4 print(1,2,3,4,5,sep='|') #指定输出多个值之间的分隔符 5 #print综合应用:打印进度条 6 import time 7 for i in range(0,101,2): 8 time.sleep(0.1) 9 char_num = i//2 10 per_str = '\r%s%% : %s\n' % (i, '*' * char_num) \ 11 if i == 100 else '\r%s%% : %s' % (i,'*'*char_num) 12 print(per_str,end='', flush=True) 13 #progress Bar 14 15 input() 16 # ret = input('提示 : ') 17 # print(ret)
3)、内存相关
1 id() #取变量的内存地址 2 hash() #对于相同可hash数据的hash值在一次程序的执行过程中总是不变的,只对可hash的变量进行取值,即不可变数据类型的 3 # 字典的寻址方式就是用hash,因为key是唯一的,它对应一个内存地址,所以寻找速度快!
4)、帮助
help('')
5)、调用相关
allable() #是否能被调用,返回True或False
# 某个方法属于某个数据类型的变量,就用.调用
# 如果某个方法不依赖于任何数据类型,就直接调用 —— 内置函数 和 自定义函数
6)、模块相关
1 #import time 导入或者叫引入模块 2 t = __import__('time') 3 print(t.time())
7)查看内置属性
1 dir() #查看一个变量拥有的方法
4、作用域
1 globals() #返回全局作用域中的所有名字
2 locals() #返回本地作用域中的所有名字
5、迭代器或生成器
range() # 是可迭代的对象,可以进行切片,切片后转换为list后可以看到值
next()#在生成器或迭代器中取下一值的方法,它其实调用的是__next__方法
iter()#把可迭代的对象,变成迭代器,实际上盗用的是__iter__方法