0、内置函数汇总:
- 1、dir() ----- 打印系统变量:
print(dir()) ----- 结果:['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'names']
一、常见的系统函数 :
- 注意 :(1) sorted():① 结果是列表,就算迭代对象是 str 也会转换为 list 数据,迭代对象中必须是相同
- 类型的数据。
- ② 返回值是 排序结果 , 原列表数据不变(list内置方法 list.sort()会改变原列表的
- 结构)
- ③ sort() 还有 key 这个形参选项 , 用于 控制 sort 的排序规则
str1 = 'abcdwddefghijk'
print(sorted(str1,reverse = False))--------['a', 'b', 'c', 'd', 'd', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'w'] 按照asicll码
========================================== key 的用法 ==========================
list1 = [[4,39,20],[89,0,5],[1,100,47],[5,7,0]]
print(sorted(list1)) --------- 默认以二维列表 第一个值 从小到大 排序
----------------------------------------
list1 = [[4,39,20],[89,0,5],[1,100,47],[5,7,0]]
print(sorted(list1,key= lambda x:sum(x)))
理解: ---- key= 用函数定义规则 ; x ---- 每次传入序列list1的每一个元素
======================== 利用 sorted()通过字典的value 排序 =================
dict1 = {
'张三':{'Math':80,'Eng':90},
'李四':{'Math':89,'Eng':45},
'王五':{'Math':70,'Eng':100}
}
result = sorted(dict1) --------- sorted()有返回值
print(result) --------- ['张三', '李四', '王五'] 默认排序键
print(sorted(dict1.items(),key= lambda x:x[1]['Math'])) -------- 通过key排序 .items()
print(dict(sorted(dict1.items(),key= lambda x:x[1]['Math']))) -------- 将排序后的 items()转化为字典
print(dict(sorted(dict1.items(),key= lambda x:x[1]['Math'],reverse=True))) ----反向排序
- (2)round():四舍六入五成双
float1 = 3.456655
print(round(float1,4)) 3.4567 四舍六入五成双。区别于 int(89.9999) >>> 89
======================================================================================
print(round(2.4)) ----------------不写保留尾数时,默认小数位为 0
============================ 四舍六入,五成双(判断前面的是数奇数则进 1,偶数则 舍弃)
print(round(1.5)) ----- 结果:2
print(round(2.5)) ----- 结果:2
print(round(3.5)) ----- 结果:4
print(round(4.5)) ----- 结果:4
二、len()函数
用法:len(iter) 求取可迭代对象的长度。
print(len('abc')) # 结果 3
三、强制转化数据类型:
str(),int(),float(),list(),tuple(),
str():几乎可以转化所有数据,为了能print()到前台上,用的时候用eval()取出数据。
int():完整语法 int(x,y)x为 参数,y为 进制数 ,默认为是10,如下:
(1)int 可以转化其他 进制数(需要是字符串形式)为十进制数。
(2)int 可以将str整数转化为int整数,不能转化str浮点数。
(3)int 可以转化 float,不会四舍五入,区别于系统函数 round()。
print(int('123'))
print(int('123.11')) #会报错,int 必须是整型
print(int('10',8)) #结果 8 (8进制10转换)
print(int(10,8)) # 报错
print(int(123.78)) #结果 123 不会四舍五入
print(float('111.444')) # 结果 111.444
print(float(100)) # 结果 100.0 默认一位
list() 参数是 可迭代对象 ,如果是 str 》》》 通过for循环字符串每个字符放入列表。
set 与 list可以相互转化。
tuple() 类似list(),列表 与 元组 可以相互转化。
四、查看数据的类型:type()
str1 = 'abc'
list1 =[1,2,3,]
print(type(str1),type(list1))
五、in 的用法:
bool值,常用于if、while等语句中
可用于str、list、tuple、dict(默认是字典的 key )等。
六、取可迭代对象最大值最小值,min、max:
相同类型的数据。
1、大小判断是以ascll码排列判断。
2、列表之间比较大小是根据第一个元素。
3、可迭代对象包含多种数据类型报错。
4、
七、del 用法,注意与clear区别:
1、可以用于 str、list 指定索引删除 或 全部删除,删除后不可访问,不同于clear,注意clear清空 可变数据的特性。
2、可以用于dict 指定 key删除 或全部删除。
3、删除一个变量
tuple1 = (1,2,3,4)
del tuple1
八、查看数据内存地址id():
a = 1
print(id(a),id(1)) # 结果 1512792224 1512792224
九、绝对值函数abs():
a = -1
print(a,abs(a)) # -1 1
十、判断数据类型(isinstance(数据,float/int/list):
判断数据类型,类似type()
print(isinstance(5 ,float))
print(isinstance(5 ,int))
print(isinstance(5.0 ,int))
print(isinstance(5.0 ,float))
print(isinstance((6 * 5 /4) ,float)) # True
print(6 * 5 /4 * 10) # # 答案:75.0 一但运算中有浮点数,结果将转化为浮点数,默认一位小数。
十一、编码(.encode())解码(.decode()):
a = 'liu'
print(a.encode('utf-8'))
b = a.encode('utf-8')
print(b.decode())
十二、zip 解压函数:
lis = zip([1,2,3],['a','b','c']) >>>>>>>>>>> 得到是一个zip对象
print(dict(lis)) --------- 结果:{1: 'a', 2: 'b', 3: 'c'}
十三、range() 序列函数:
- 特点: ① 有三个参数,start end step
- ② 区间 前闭后开
- ③ range() 是一个迭代器对象,可以用list 转化或for 循环遍历(只能遍历一次)
range(): ------------------- 第四节
print(list(range(0,80,4)))
=================================================================
for once in range(1,80): ----------- 默认步长为1,且取不到80,取(1-79)
print("重复打印%d次" %once)
十四、enumerate 枚举函数:
- 特点:类似 dict 的内置方法 -------------- dict.items()
---------- 第二节