1.今日内容
- 内置函数I
- 匿名函数
- 内置函数II
2.具体内容
内置函数I
内置函数:内置的函数,python中的内置函数有68种,13种是在面向对象
1、eval exce 去掉字符串两边的引号,还原本身(慎用)
s1 = "{1:'dog'}" s2 = '1+3' #eval 剥取字符串的外衣,返回里面的本质 ret = eval(s1) print(ret,type(ret))#{1: 'dog'} <class 'dict'> print(eval(s2)) #4 #exec 代码流,过程 s3 = ''' for i in range(3): print(i) ''' exec(s3)#1 2 3
2、hash() 获取对象的哈希值
print(hash(123)) print(hash('qw'))
3、 help() 使用说明
print(help(str.count))
4、 callable ** 判断对象是否可以调用
def a(): pass b = 2 print(callable(a))#T print(callable(b))#F
5、int() ** 取整,将字符串转换成整数
print(int('321'))#321 print(int(3.14))#3
6、float() 将整数和字符串转换成浮点型
print(float(321))#321.0 print(float('321'))#321.0
7、complex
8、 bin() 将十进制转化成二进制
9、oct() 将十进制转化成八进制
10、hex()将十进制转化成十六进制print(bin(2))#0b10 print(oct(8))#0o10 print(hex(16))#0x10
11、divmod() 计算除数与被除数的结果,返回一个包含商和余数的元组(分页用到)
print(divmod(17,2))#(8,1)
12、 round()保留小数的有次位置,(默认取整)
print(round(3.21))#3 print(round(3.1415926,3))#3.142
13、pow() 求x**y此幂
三个参数为x**y的结果对z取余
print(pow(3,3))#27 print(pow(3,3,2))#1
14、ord() 输入字符寻找unicode的位置
15、chr() ** 输入位置数字寻找对应的字符print(ord('a'))#97 print(chr(97))#a
16、repr ** 原形毕露
print(repr('dog'))#'dog'
17、all any **
l1 = [1,2,[1,],{1:dog},(1,)] l2 = ['',{},(),[]] print(all(l1))#T print(any(l2))#F
匿名函数
#匿名函数:没有名字的函数 #匿名函数只能构建简单的函数,一句话函数 #常用来与内置函数结合使用 def func(x,y): return x+y #匿名函数的构建 func1 = lambda x,y:x+y print(func1(1,3)) #接收一个可切片的数据,返回索引为 0与2的对应的元素(元组形式) print(lambda x : (x[0],x[2])) #接收两个int参数,将较大的数据返回 print(lambda x,y : x if x>y else y)
内置函数II***
1、 print()参数sep ,end
print(self,*args,sep=' ',end='\n',file=None) #sep设定分割符 #end默认换行,可以打印一行 print(1,2,3,sep='|')#1|2|3 print(1,2,end=' ') print(3,4) #1 2 3 4
2、 list()构建列表
l1 = list('qwer') print(l1)#['q','w','e','r']
3、dict()创建字典
#1. dic = dict(one=1,two=2) print(dic)#{'one':1,'two':2} #2.字典推导式 print(i:1 for i in range(3)) #3. dic = {'one':1,'two':2} #formkeys()
4、abs()取绝对值
5、sum()求和,可以设置初始值print(abs(-9))#9 #sum(iterable) sum([1,2,3])#6 sum([1,2,3],100)#106
6、 min()取小,可以加功能,参数key
7、 max()取大,可以加功能,参数keyprint(min([1,2,3,4]))#1 #加功能,通过设置key去使用min l1 = [('alex', 73, 170), ('太白', 18, 185), ('武大', 35, 159),] #min 自动的将可迭代对象的每一个元素作为实参传给i def func(x): return x[1] print(min(l1,key=func)) print(min(l1,key=lambda i:i[1])) # 练习: dic = {'a':3,'b':2,'c':1} # 将dic值最小的键返回 print(min(dic,key=lambda i :dic[i]))#c # 将dic值最小的值返回 print(dic[min(dic,key=lambda i :dic[i])])#1 dic = {'A':['李业', 67],'b': ['怼哥', 95],'c': ['冯垚', 85]} # 将成绩最低的从属于的那个列表返回 print(dic[min(dic,key=i:dic[i][1])]) # 将成绩最低的分数返回 print(dic[min(dic,key=i:dic[i][1])][1])#67 max()与min 相同
8、 reversed() 对一个可迭代对象进行翻转,返回一个迭代器
s1 = 'qwe' print(reversed(s1))# <reversed object at 0x00000167DE269748> for i in reversed(s1): print(i)
9、 bytes()
s1 = '太白' #方法一 print(s1.encode('utf-8')) #方法二 print(bytes(s1,encoding='utf-8')) # 解码 b1 = b'\xe5\xa4\xaa\xe7\x99\xbd' #方法一 print(s1.decoding('utf-8')) print(str(s1,encoding='utf-8'))