python学习笔记13 python中的函数(下)
接着上一篇的函数内容这一节我们来介绍python中的一些内置函数和函数生成式
上一篇 python学习笔记12 python中的函数(上)
内置函数
数学类函数
- abs() 求绝对值
n=-10
print(abs(n)) #10
- sum() 求和 字符串类型的元素不行
list1=[1,2,3,4,5]
print(sum(list1)) #15
- divmod() 传入两个数值,前一个除以后一个,得到两个数值:一个是商,一个是余数
x,y=divmod(10,3)
print(f'x:{x},y:{y}') #x:3,y:1
- round() 四舍五入
n=11.123
print(round(n,3)) #11.123
- pow() 求幂次方
print(pow(2,3)) #8
聚合类函数
-
max() 求最大值
-
min() 求最小值
list=[0,1,2,3,4,5,67,54,23]
print(max(list)) #67
print(min(list)) #0
-
all() 判断一个列表中是否出现一个False
-
any() 判断一个列表中是否出现一个True
list=['伊一',123,'',(1,2,3)] print(all(list)) #False print(any(list)) #True
和进制相关的函数
-
二进制
-
bin() 将十进制的值转二进制
-
int() 将某一种进制转十进制
print(bin(100)) #0b1100100 print(int(0b1100100)) #100
-
-
八进制
-
otc() 将十进制转八进制
print(oct(100)) #0o144
-
-
十进制
整数默认都是十进制
-
十六进制
-
hex() 将十进制转十六进制
print(hex(100)) #0x64
-
练习题:将ip地址先转二进制,再转回十进制【点分十进制法】
字符类函数
-
ord() 将一个字符转成ASCII码数值
print(ord('0')) #48 print(ord('A')) #65 print(ord('a')) #97
-
chr() 将数值转成对应的ASCII码字符
print(chr(97)) #a
类型转换相关函数
int() str() bool() list() dict() tuple() set() bytes()
b2=bytes('中国','UTF-8')
print(b2,type(b2)) #b'\xe4\xb8\xad\xe5\x9b\xbd' <class 'bytes'>
获取输出类函数
-
input() print() len() open()
获取索引和元素
list1=[100,222,643,47,85,46]
for i,j in enumerate(list1):
print(i,j)
-
id() 获取对象的地址值
-
callable() 判断一个变量是否是一个函数
def fun1(): pass print(callable(fun1)) #True
-
sorted() 排序
list1=[415,65,23,78,556,2] print(f'list1:{list1}') #list1:[415, 65, 23, 78, 556, 2] list2=sorted(list1) print(f'list1:{list2}') #list1:[2, 23, 65, 78, 415, 556] list3=sorted(list1,reverse=True) print(f'list1:{list3}') #list1:[556, 415, 78, 65, 23, 2] list4=sorted(list1,reverse=False) print(f'list1:{list4}') #list1:[2, 23, 65, 78, 415, 556]
自定义排序依据
list1=['啦啦啦:1007','噜噜噜:1009','咕咕咕:1001','呵呵呵:1004','嘻嘻嘻:1002'] def fun1(e): return int(e.split(':')[1]) list2=sorted(list1,key=fun1) print(f"list1:{list2}")#list1:['咕咕咕:1001', '嘻嘻嘻:1002', '呵呵呵:1004', '啦啦啦:1007', '噜噜噜:1009']
-
zip() 将两个序列中的元素一一对应
list1=[1,2,3,4,5,6]
# list1[001,002,003,004,005,006] #报错是因为以0开头的是八进制,可以用1,2,3...表示,或者使用字符串"001","002","003"
list2=['啦啦啦','噜噜噜','嘎嘎嘎','咕咕咕','呜呜呜','哈哈哈']
for i,j in zip(list1,list2):
print(f'学号:{i},姓名:{j}')
函数生成式
每执行一个__next()__操作读取到一个yield
def fun1():
print('开始了')
yield 1
print("1在上面")
yield 2
print('2在上面')
yield 3
yield 4
yield 5
res1=fun1()
print("hi,伊一")
print(res1.__next__())
print(res1.__next__())
有yield()关键字的函数,结果是可以使用for循环的
def fun1():
print('hello 1')
yield 1
print("hello 2")
yield 2
print('hello 3')
yield 3
print('hello 4')
yield 4
print('hello 5')
yield 5
res1=fun1()
for i in res1:
print(i)
print('---------------')
def fun1():
for i in range(1,3):
yield i
res1 = fun1()
for j in res1:
print(j)
print("-----------")
'''
1
-----------
2
-----------
'''
函数我们就讲到这里啦,下一节我们开启python中的模块学习
点赞收藏关注,一起打卡python学习吧