#定义一个函数与变量的定义非常相似,对于有名函数,必须通过变量名访问def func(x,y,z = 1): return x + y + z#匿名函数:1.没有名字,2.函数体自带return#匿名函数的应用场景,临时使用lambda x,y,z = 1:x + y + zprint(lambda x,y,z = 1:x + y + z)f = lambda x,y,z = 1:x + y + zprint(f)f(1,2,3) #内置函数#1.abs()print(all([1,2,‘a‘,None]))#表示可迭代对象取出的每一个值的布尔值都为真print(all([]))#可迭代对象为空的列表,表示为Trueprint(any([]))#表示为Falseprint(any([‘ ‘,None,False]))#表示为Trueprint(any([‘‘,None,False]))#表示为False #bin,oct,hexprint(bin(10))#十进制转二进制print(oct(10))#十进制转八进制print(hex(10))#十进制转十六进制 #bytes#字符串本身就是unicode#unicode------->encode------>bytesprint(‘hello‘.encode(‘utf-8‘))print(bytes(‘hello‘,encoding = ‘utf-8‘)) #callable是否可以被调用print(callable(bytes))#Trueprint(callable(abs))#True #chr,ordprint(chr(65))#Aprint(chr(35))#表示的是#print(ord(‘#‘))#表示的是35 s1 = frozenset({1,2,3,4})#表示的是不可变集合 import syssys.path ##path表示来自于sys名称空间的名字print(dir(sys))#查看sys有哪些属性 #divmodprint(divmod(10,3))#结果表示的是除数和商 #enumeratel = [‘a‘,‘b‘,‘c‘]res = enumerate(l)for index,item in res: print(index,item) #hash(),表示的是检验一段字符串,会得到hash值 #help()查看帮助信息print(help())#在函数中写注释信息,可通过help查看 #id:是python解释器实现的功能,并不是真实的内存地址 #isinstancex = 1print(isinstance(x,int))#判断x是否是int的一个实例 #powprint(pow(10,2))#表示的是10**2print(pow(3,2,2))#表示的是3**2%2 #repr:将对象转成字符串print(type(repr(1)))#解释器内部调用 #reversedl = [1,‘a‘,2,‘c‘]print(reversed(l)) #roundprint(round(3.567,2))#表示的保留两位小数 #slicel = [1,2,3,4,5,6]print(l[0:4:2])s = slice(0,4,2)print(l[s])#可以给多个对象使用 #sortedl = [1,10,4,3,-1]print(sorted(l,reverse = True)) #zip:拉链(找两个一一对应的部分)s = ‘hello‘l = [1,2,3,4,5]print(zip(s,l))res = zip(s,l)#为迭代器print(list(res)) #__import__import sysm_name = input(‘module>>: ‘)if m_name == ‘sys‘: m = __import__(m_name) print(m) print(m.path)
salaries = { ‘egon‘:3000, ‘alex‘:100000, ‘wupeiqi‘:1000, ‘yuanhao‘:2000}# print(list(zip(salaries.values(),salaries.keys()))) # print(max(list(zip(salaries.values(),salaries.keys())))) # print(max(salaries,key = lambda name:salaries[name])) ##filter,map,reducenames = [‘alex‘,‘wupeiqi‘,‘yuanhao‘,‘egon‘]# res = map(lambda x:x + ‘_SB‘,names)# print(list(res)) #从functools中导入reduce模块from functools import reduce# print(reduce(lambda x,y:x + y,range(101))) def my_map(seq): for item in seq: item = item + ‘_SB‘ yield itemres1 = my_map(names)# print(next(res1)) def my_map(func,seq): for item in seq: yield func(item)# res1 = my_map(lambda x:x + ‘_SB‘,names)# print(next(res1)) ##filter函数names = [‘alex_SB‘,‘wupeiqi‘,‘yuanhao‘,‘egon‘]# print(list(filter(lambda name:name.endswith(‘SB‘),names))) ##eval与exec# cmd = ‘print(x)‘# x = 1# eval(cmd)# eval(cmd,{},{})#第一个大括号表示的是全局作用域,第二个大括号表示的是局部作用域# eval(cmd,{‘x‘:0},{‘y‘:10000}) s = ‘for i in range(10):print(i)‘code = compile(s,‘‘,‘exec‘)exec(code)
时间: 2024-10-12 22:59:47