内置函数
什么是内置函数?就是python帮我们提供的一个工具,拿过直接用就行,比如我们的print,input,type,id等等.截止到python3.6.2版本
中一共提供了68个内置函数.他们就是python直接提供给我们的,有一些我们已经用过了.有一些还没有用过.还有一我们需要学完面向对象才能继续学习.今天我们认识一下python的内置函数
作用域相关
locals() 返回当前作用域中的名字
globals() 返回全局作用域中的名字
迭代器相关
range() 生成数据
next() 迭代器向下执行一次,内部实际使用了__next__()方法返回迭代器的下一个项目
iter() 获取迭代器,内部实际使用的是__iter__()方法来获取迭代器
字符串类型代码的执行
eval() 执行字符串类型的代码,并返回最终结果
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
compile() 将字符串类型的代码变异,代码对象能够通过exec语句来执行或者eval()进行求值
‘‘‘ 参数说明: 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不怎么常用
输入和输出相关
input() 获取用户输入的内容
print() 打印 输出
内存相关
hash() 获取对象的哈希值(int.str,bool,tuple)
id() 获取到对象的内存地址
文件操作相关
open() 用于打开一个文件,创建一个文件句柄
模块相关
__import__() 用于动态加载类和函数
帮助
help() 函数用于查看函数或模块用途的详细说明
调用相关
callable() 用于检查一个对象是否是可调用的,如果返回True,object有可能调用失败,要是返回False,那调用绝对就完犊子
查看内存属性
dir() 查看对象的内置属性,方法,访问的是对象的__dir__()方法
基础数据类型相关
数字相关:
bool() 将给定的数据转换成bool值,如果不给值.返回False
int() 将给定的数据转换成int值,如果不给值,返回0
float() 将给定的数据转换成float值,也就上次小数
compilex() 创建一个复数,第一个参数为实部,第二个参数为虚部.或者第一个参数直接用字符串来描述复数
进制转换:
bin() 将给的参数转换成二进制
otc() 将给的参数转换成八进制
hex() 将给的参数转换成十六进制
数字运算:
abs() 求绝对值
divmode() 返回商和余数
round() 四舍五入
pow(a,b) 求a的b次幂,如果有个三次参数,则求万次幂后对第三方个数取余
sum() 求和
min() 求最小值
max() 求最大值
数据结构相关
列表和元祖
list() 将一个可迭代对象转换成列表
tuple() 将一个可迭代对象转换成元祖
reverse() 将一个序列反转,返回反转序列的迭代器
slice() 列表的切片
a = ‘大家好我是武松‘ s1 = slice(1,8,2) print(a[s1]) 结果: 家我武
字符串相关:
str() 将数据转化成字符串
format() 与具体数相关,用于计算各种小数,精算等
字符串
# 字符串 # 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‘)) # 小数点计数法
bytes() 把字符串转换成bytes类型
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
bytearray() 返回一个新字节数组,这个数字里的元素是可变的,并且每个元素的值的范围是0~256
ret = bytearray(‘meet‘,encoding=‘utf-8‘) print(ret) print(ret[0]) 结果: bytearray(b‘meet‘) 109
momoryview() 查看bytes的内存地址
s = memoryview(‘麻花藤‘.encode(‘utf-8‘)) print(s) # 结果: # <memory at 0x000001F332E0E288>
ord() 输入字符找带字符编码的位置
print(ord(‘a‘)) print(ord(‘中‘)) print(ord(‘国‘)) 结果: 97 20013 22269 对应的是当前编码
chr() 输入位置数字找出对应的字符
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() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作
其他相关
len() 返回一个对象的元素个数
enumerate() 获取枚举对象
lst = [‘alex‘,‘wusir‘,‘taibai‘] for i,k in enumerate(lst): print(‘这是序号‘,i) print(‘这是元素‘,k)
all() 可迭代对象中全部是True,结果才是True
lst = [1,2,3,4,True,0,False] lst1 = [1,2,3,4,True] print(all(lst)) print(all(lst1)) 结果: False True
any() 可迭代对象中有一个是True,就是True
lst = [1,2,3,4,True,0,False] lst1 = [1,2,3,4,True] print(any(lst)) print(any(lst1)) 结果: False True
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖,
然后返回由这些元祖组成的内容,如果各个迭代器的元素个数不一致,则按照长度最短的返回
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() 对可迭代对象进行排序
filter() 过滤
map() 会根据提供的函数对指定的序列做映射
参看质料
https://www.processon.com/view/link/5b4ee15be4b0edb750de96ac
原文地址:https://www.cnblogs.com/guobaoyuan/p/9860532.html