Python基础之内置函数
一、内置函数表(Python 3.x)
1、数学运算类:
2、集合类操作:
3、逻辑判断:
4、反射:
5、IO操作:
二、内置函数使用实例:
1、abs() 取绝对值
print(abs(3)) print(abs(-3)) #取-3的绝对值 --------输出结果-------- 3 3
2、all() 括号里的内容都为True时,结果才为True,反之为False
print(all("")) #可迭代对象是空的,也返回True print(all((1,2,"a","b"))) print(all((1,2,"a","b"," "))) print(all((1,2,"a","b"," ",None))) #只要有一个为False,就为False ---------------------------输出结果-------------------------- True True True False
3、any() 括号里的内容只要有一个为True时,结果才为True,反之为False
print(any(("",None))) print(any((1,"",None))) #只要有一个为True时,结果为True ----------输出结果----------- False True
4、bin() 把十进制转为二进制
print(bin(5)) #将5转成二进制 -------输出结果------- 0b101 #二进制表达式
5、bool 布尔值 空,None,0的布尔值为False,其余都为True
print(bool("")) #空 print(bool(0)) #0 print(bool(None)) #None print(bool("0")) #此时0位一个字符串 ----------------输出结果------------------ False False False True
6、bytes() 把字符串转成字节
content = "你好" print(bytes(content,encoding="utf8")) #手动把字符串编码,转成二进制bytes类型 print(bytes(content,encoding="utf8").decode("utf8")) #需要把字符串进行编码,再解码(用什么编码,就用什么解码) ------------------------输出结果-------------------------- b'\xe4\xbd\xa0\xe5\xa5\xbd' 你好
7、chr() 数值对应的ASSCII字符
print(chr(65)) print(chr(66)) print(chr(67)) -----输出结果----- A B C
8、dir 显示函数内置属性和方法
print(dir(dict)) ----------------输出结果-------------------- ['__class__', '__contains__', '__delattr__', '__delitem__', \ '__dir__', '__doc__', '__eq__', '__format__', '__ge__',\ '__getattribute__', '__getitem__', '__gt__', '__hash__',\ '__init__', '__init_subclass__', '__iter__', '__le__', '__len__',\ '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',\ '__repr__', '__setattr__', '__setitem__', '__sizeof__',\ '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys',\ 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', \ 'update', 'values']
9、divmod 取商得余数,用于做分页显示功能
print(divmod(10,3)) #得3,余1,就得要4页了 ----------输出结果--------- (3, 1)
10、eval 把字符串中的数据结构给提取出来,解释字符串表达式
dic={'name':'michael'} #定义一个字典 dic_str=str(dic) #字典类型转成字符串 print(dic_str) #打印内容 print(type(dic_str)) #打印数据类型 d1=eval(dic_str) #eval:把字符串中的数据结构给提取出来 print(d1) #打印内容 print(type(d1)) #打印数据类型 ---------------输出结果------------------ {'name': 'michael'} <class 'str'> {'name': 'michael'} <class 'dict'>
11、globals 全局变量
ps1:
name = "千江有水千江月,万里无云万里天。" print(globals()) ---------------------输出结果------------------------- {'__name__': '__main__', '__doc__': None, '__package__': None,\ '__loader__': <_frozen_importlib_external.SourceFileLoader\ object at 0x00000000021C9668>, '__spec__': None,\ '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>,\ '__file__': 'F:/Michael/day25/内置函数实例.py', '__cached__': None,\ 'name': '千江有水千江月,万里无云万里天。'}
ps2:
name = "千江有水千江月,万里无云万里天。" print(__file__) #打印文件路径和文件名 ------------输出结果--------------- F:/Michael/day25/内置函数实例.py
ps3:
globals 打印全局变量,locals 打印局部变量
name = "千江有水千江月,万里无云万里天。" def test(): name1 = "千山同一月,万户尽皆春。" print(globals()) print(locals()) test() ---------------------输出结果------------------------- {'__name__': '__main__', '__doc__': None, '__package__':\ None, '__loader__': <_frozen_importlib_external.SourceFileLoader\ object at 0x0000000002209668>, '__spec__': None,\ '__annotations__': {}, '__builtins__': <module 'builtins'\ (built-in)>, '__file__': 'F:/Michael/day25/内置函数实例.py',\ '__cached__': None, 'name': '千江有水千江月,万里无云万里天。'\ , 'test': <function test at 0x00000000003F3E18>} -----------------分隔线--------------------- {'name1': '千山同一月,万户尽皆春。'}
12、hash() 可hash的数据类型即不可变数据类型,不可hash的数据类型即可变数据类型
hash的作用:在网上下载软件,判断是否被人修改,通过比对hash值,就知道。还有在传输数据的时候,通过hash
值传输前后的对比,就能判断数据是否完整。
print(hash("dkdgdkhglkf")) print(hash("dkdgdkhglkfjwiofwndnvjskdfjkljj")) name = "egon" print(hash(name)) print("----->before",hash(name)) name = "somebody" print("=====>after",hash(name)) -----------------输出结果------------------- -8352099065023340321 7790489956030600654 -1821075661332880192 ----->before -1821075661332880192 =====>after -3592763496452633376
13、help() 查看函数用法的祥细信息
print(help(all)) ------------输出结果-------------- Help on built-in function all in module builtins: all(iterable, /) Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. None
14、bin、hex、oct 进制转换
print(bin(12)) #binary 十进制----> 二进制 print(oct(12)) #octonary 十进制----> 八进制 print(hex(12)) #hexadecimal 十进制----> 十六进制 ------------------------输出结果---------------------------- 0b1100 0o14 0xc
15、isinstance判断类型
print(isinstance(1,int)) #判断是不是int类型 print(isinstance('abc',str)) #判断字符串 print(isinstance([],list)) #判断列表 print(isinstance({},dict)) #判断字典 print(isinstance({1,2},set)) #判断集合 --------------------输出结果----------------------- True True True True True
16、map() 接收一个函数和一个可迭代对象(如列表)作为参数,用函数处理每个元素,然后返回新的列表
name=['alex','wupeiqi','yuanhao'] m = map(lambda name:name+"_SB",name) print(list(m)) -------------输出结果-------------- ['alex_SB', 'wupeiqi_SB', 'yuanhao_SB']
17、max() 最大值 和 min() 最小值
简单用法:
l = [2,4,0,-2,23] print(max(l)) print(min(l)) -----输出结果----- 23 -2
高级用法:
说明:
1、max函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较;
注意:不同类型之间不能进行比较。
2、每个元素间进行比较,是从每个元素的第一位置依次比较,如果这一个位置分出大小,后面的都不需要比较
了,直接得出这俩元素的大小。
从字典salary_dic取出工资最高的人和最低的人:
salary_dic = {'egon':290,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
print(max(salary_dic,key=lambda k:salary_dic[k])) #使用匿名函数 print(min(salary_dic,key=lambda k :salary_dic[k])) #使用匿名函数 -------------输出结果----------------- alex #最高的人 egon #最低的人
18、zip() 将对象逐一配对,相当于拉链的功能
salary_dic = {'egon':290,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
print(list(zip(salary_dic.keys(),salary_dic.values()))) print(list(zip(["a","b","c"],[1,2,3,4,5]))) ----------------输出结果------------------- [('egon', 290), ('alex', 100000000), ('wupeiqi', 10000), ('yuanhao', 2000)] [('a', 1), ('b', 2), ('c', 3)]
19、reversed() 反转
l = [1,2,4,3]
print(list(reversed(l)))
print(l)
-------输出结果--------
[3, 4, 2, 1] #注意:它是按原列表的顺序反转,并非按元素大小排序
[1, 2, 4, 3]
20、round() 四舍五入
print(round(3.4)) print(round(3.5)) -------输出结果-------- 3 4
21、slice() 切片
a = "hello world" a1 = slice(1,9) #切片 a2 = slice(1,9,2) #加上步长切片 print(a[a1]) #1 print(a[1:9]) #2 1和2效果是一样的 print(a[a2]) #3 print(a[1:9:2]) #4 3和4效果是一样的 print(a2.start) #开始的索引值 print(a2.stop) #结束的索引值 print(a2.step) #步长 ----------输出结果------------- ello wor ello wor el o el o 1 9 2
22、sorted() 排序
还是同16比较工资排序吧!
salary_dic = {'egon':290,'alex':100000000,'wupeiqi':10000,'yuanhao':2000} print(sorted(salary_dic,key=lambda k:salary_dic[k])) #工资从低到高 print(sorted(salary_dic,key= lambda x:salary_dic[x],reverse=True)) #把反转的巩固一下,是工资从高到低排序 -----------------输出结果------------------ ['egon', 'yuanhao', 'wupeiqi', 'alex'] ['alex', 'wupeiqi', 'yuanhao', 'egon']
23、import 模块
import time time.sleep(3) print(time) ---------输出结果-------- <module 'time' (built-in)> #会睡眠3s输出结果
24、__import__() 导入一个字符串类型模块
s = "time" m = __import__(s) m.sleep(2) print(m) -----输出结果------ <module 'time' (built-in)> #会睡眠2s输出结果