内置函数
什么是内置函数?就是python帮我们提供的一个工具,拿过直接用就行,比如我们的print,input,type,id等等.截止到python3.6.2版本
中一共提供了68个内置函数.他们就是python直接提供给我们的,有一些我们已经用过了.有一些还没有用过.还有一我们需要学完面向对象才能继续学习.今天我们认识一下python的内置函数
作用域相关
迭代器相关
字符串类型代码的执行
print(eval('2+8')) 结果: 10 n = 8 print(eval('n + 10')) 结果: 18
exec() 执行字符串类型的代码
exec(''' for i in range(10): print(i) ''') # 我们按照python能够识别的语法写代码,这次写入的是字符串也可以执行 exec(''' def func(): print("444") func() ''') 结果: 444
''' 参数说明: 1.resource #办法 要执行的代码,动态代码片段 2.文件名,代码存放的文件名,当传入了第一个参数的时候,这个参数给空就可以了 3.模式,取值有3个 1.exec 一般放一些流程语句的时候 2.eval resource只存放一个求值的表达式 3.single resource存放的代码有交互的时候.mode应为single ''' code = 'for i in range(10):print(i)' c1 = compile(code,'',mode='exec') exec(c1) # 使用exec没有返回值 code1 = '1+2+4' c2 =compile(code1,'',mode='eval') a = eval(c2) # 使用eval有返回值 print(a) code = 's = input("请输入内容");print(s)' c1 = compile(code,'',mode='single') exec(c1) #使用exec没有返回值
通过上边的测试发现,只要是exec就没有返回值,eval就是有返回值的,compile不怎么常用
输入和输出相关
内存相关
文件操作相关
模块相关
帮助
调用相关
查看内存属性
基础数据类型相关
数字相关:
进制转换:
hex() 将给的参数转换成十六进制
数字运算:
数据结构相关
列表和元祖
a = '大家好我是武松' s1 = slice(1,8,2) print(a[s1]) 结果: 家我武
字符串相关:
字符串
# 字符串 # print(format('meet','<20')) #左对齐 # print(format('meet','>20')) #右对齐 # print(format('meet','^20')) #居中 结果: meet meet meet
数值
#数值 print(format(3,'b')) # 二进制 print(format(97,'c')) # 转换成unicodezif print(format(11,'d')) #十进制 print(format(56)) #和d一样 print(format(11,'n')) #十进制 print(format(11,'o')) #八进制 print(format(11,'x')) # 十六进制(小写字母) print(format(11,'X')) # 十六进制(大写字母) # 浮点数 print(format(1234567890,'e')) #科学计算法,默认使用6位 print(format(123456789,'0.2e'))# 科学计算,保留2位小数(小写) print(format(123456789,'0.2E'))# 科学计算,保留2位小数(大写) print(format(1.23456789,'f')) #小数点计数法,保留6位小数 print(format(1.23456789,'0.2f')) # 小数点计数法,保留2位数 print(format(1.23456789,'0.10f')) # 小数点计数法,保留2位数 print(format(1.23456789e+1000,'F')) # 小数点计数法
s = '你好武大' bs = s.encode('utf-8') print(bs) 结果:b'\xe4\xbd\xa0\xe5\xa5\xbd\xe6\xad\xa6\xe5\xa4\xa7' s1 = bs.decode('utf-8') print(s1) 结果: 你好武大 bs = bytes(s,encoding='utf-8') print(bs) 结果: b'\xe4\xbd\xa0\xe5\xa5\xbd\xe6\xad\xa6\xe5\xa4\xa7' 把字符串编码成utf-8
ret = bytearray('meet',encoding='utf-8') print(ret) print(ret[0]) 结果: bytearray(b'meet') 109
s = memoryview('麻花藤'.encode('utf-8')) print(s) # 结果: # <memory at 0x000001F332E0E288>
print(ord('a')) print(ord('中')) print(ord('国')) 结果: 97 20013 22269 对应的是当前编码
print(chr(97)) # 找到对应位置的字符 print(chr(20013)) # 找到对应位置的字符 # 结果: a 中
ascii() 是ascii码中的返回值 不是就返回\u
print(ascii('a')) 判断字符串在不在ascii码表中 print(ascii('中')) 结果: 'a' '\u4e2d' 如果不存在就返回\u...
repr() 返回一个对象本质的形式
name = 'alex' print(repr(name)) #返回这个对象本质的表示形式 结果: 'alex' name = '我叫%r' print(name%'meet') %r 用的就是repr 结果: 我叫'meet'
数据集合
dict() 创建一个字典
set() 创建一个集合
frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作
其他相关
lst = ['alex','wusir','taibai'] for i,k in enumerate(lst): print('这是序号',i) print('这是元素',k)
lst = [1,2,3,4,True,0,False] lst1 = [1,2,3,4,True] print(all(lst)) print(all(lst1)) 结果: False True
lst = [1,2,3,4,True,0,False] lst1 = [1,2,3,4,True] print(any(lst)) print(any(lst1)) 结果: False True
然后返回由这些元祖组成的内容,如果各个迭代器的元素个数不一致,则按照长度最短的返回
lst1 = [1,2,3] lst2 = ['a','b','c','d'] lst3 = (11,12,13,14,15) for i in zip(lst1,lst2,lst3): print(i) 结果: (1, 'a', 11) (2, 'b', 12) (3, 'c', 13)
lambda之后讲解
sorted() 对可迭代对象进行排序
参看质料
https://www.processon.com/view/link/5b4ee15be4b0edb750de96ac