函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用C语言写的),而且是拿来即用,避免重复早轮子,那么这些函数就称为内置函数,到目前为止python给我们提供的内置函数一共是68个。
1、内置函数一 (1)eval() : 执行字符串类型的代码,并返回最终结果 神器一 a = "88 + 99" print(eval(a)) eval("n + 4") # 85 eval('print(666)') # 666注意:千万记住禁止使用
(2)exec() : 执行字符串类型的代码 神器二 def func(): print(111) func() exec(func())注意:千万记住禁止使用
(3)hash() :作用就是区分可变数据类型和不可变数据类型 print(hash("123")) print(hash(12)) print(hash(-1)) print(hash(-10)) print(hash((2,1))) dic = {[1,2,3]:2} print(hash([1,2,3])) (4)help() :查看帮助信息,用于查看函数或模块用途的详细说明 help(list) (5)callable() :查看对象是否可调用 def func(): print(1) lst = [1,23,4,] print(callable(lst)) (6)int() :将一个字符串或数字转换为整型 print(int()) print(int('12')) print(int(3.6)) (7)float() :将整数和字符串转换成浮点型 print(float(3)) print(int(3)) (8)complex() :复数 print(complex(20)) (9)bin() :十进制转二进制 0b print(bin(100)) (10)oct() :十进制转八进制 0o print(oct(10)) (11)hex() :十进制转十六进制 0x print(hex(17)) (12)divmod() :求商和余数 (商,余) print(divmod(5,2)) (13)round() :保留小数位 print(round(3.534232,2)) (14)pow() :幂运算pow 当是两个参数时是求幂,三个参数时就是求幂取余 print(pow(2,2)) #幂 pow 两个参数是求幂 print(pow(2,2,3)) #幂 pow 两个参数是求幂后的余 (15)bytes() :将字符串进行编码,用于不同编码之间的转化 s = "你好" s1 = bytes(s,encoding="utf-8") print("s1") (16)ord() :通过元素获取当前表位的序号 print(ord("你")) (17)chr() :通过表位序号查找元素 print(chr(20320)) (18)repr() :查看数据的源生态 ,给程序员使用的 a = 'alex' print(repr(a)) #查看你数据的原生态 -- 给程序员使用的 print(a) # 给用户使用的 (19)all() :判断容器中的元素是否都为真 (and) lst = [1,2,0,4,5] print(all(lst)) (20)any() :判断容器中的元素是否有一个为真 lst = [1,2,3,0,1,23] print(any(lst)) (21)globals() :查看全局变量 print(globals()) (22)locals() :查看当前空间变量 a = 10 def func(): a = 1 print(locals()) # 查看当前空间变量 print(1) func() (23)frozenset() :冻结集合 2、内置函数二 (1)普通函数: <1> print() 屏幕输出 ''' 源码分析 def print(self, *args, sep=' ', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) file: 默认是输出到屏幕,如果设置为文件句柄,输出到文件 sep: 打印多个值之间的分隔符,默认为空格 end: 每一次打印的结尾,默认为换行符 flush: 立即把内容输出到流文件,不作缓存 """ ''' sep : 每一个元素之间分割的方法 默认 " " **** print(1,2,3,sep="|") end :print执行完后的结束语句 默认\n **** print(1,2,3,end="") print(4,5,6,end="") file : 文件句柄 默认是显示到屏幕 print(1,2,3,4,file=open("test","w",encoding="utf-8")) print() # flush 刷新 print(111,222,333,sep='*') # 111*222*333 print(111,end='') print(222) #两行的结果 111222 f = open('log','w',encoding='utf-8') print('写入文件',fle=f,flush=True <2> dir() 查看当前对象的所有方法 返回的是列表 print(dir(list)) # 查看当前对象所有方法 返回的是列表print(dir(str)) # 查看当前对象所有方法 <3> format() 格式转换 # 对齐方式 print(format("alex",">20")) # 右对齐 print(format("alex","<20")) # 左对齐 print(format("alex","^20")) # 居中 # 进制转换 print(format(10,"b")) # bin 二进制 print(format(10,"08b")) print(format(10,"08o")) # oct 八进制 print(format(10,"08x")) # hex 十六进制 print(format(0b1010,"d")) # digit 十进制 <4> str() 将字节转换成字符串 byte_str = bytes("你好",encoding="utf") print(byte_str) print(str(byte_str,encoding="utf-8")) <5> list() 将一个可迭代的对象转换为列表 print(list("alex")) <6> tuple() 讲一个可迭代的对象转换成元组 print(tuple([1,2,3,4])) <7>set() 将可迭代对象转换成一个集合 print(set("alex")) <8> dict() 通过相应的方式创建字典 print(dict([(1,2),(3,4)])) print(dict(k=1,v=2,c=3)) dic1 = {"key1":1,"key2":2} dic2 = {"a":1,"b":2} dic2.update(dic1) print(dic2) print(dict(**dic1,**dic2)) <9> abs() 返回绝对值 i = -5 print(abs(i)) # 5 <10> sum() 求和 print(sum([1,2,3])) print(sum((1,2,3),100)) # 从100开始加 <11> reversed() 将一个序列翻转,返回翻转序列的迭代器 print(list(reversed("alex"))) lst = [1,2,3,4,5] print(list(reversed(lst))) 反转 print(lst) <12> zip() 拉链