一、内置函数引入

我们已经了解的有;
 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__方法