python学习-缺省参数/不定长参数/拆包/递归/匿名函数/两个变量交换
#缺省参数 def add(a,b=10,c=10): result=a+b+c return result print(add(30,c=6)) #不定长参数,*args:返回的是元组,**kwarges:返回的是字典 def addq(a,b,c=10,*args,**kwargs): print(a,b,c) print(args) print(kwargs) addq(1,2,3,44,55,name='hh',age=14) #拆包 d=(11,12,13) c=(55,66) e={'name':'alex','age':20} addq(1,2,3,*d,**e) addq(1,2,3,*c,**e)
数字、字符串、元组为不可变类型,列表、字典为可变类型
#计算4!=4*3*2*1 #方法一: i=1 result=1 while i<=4: result*=i i+=1 print(result) #方法二:递归(自己调自己) #4*3! '''注意递归一定要避免进入死循环,一旦进入死循环肯定会造成内存溢出,程序崩溃''' def getNums(num): if num>1: return num*getNums(num-1) else: return num result=getNums(4) print(result)

num=[1,242,3,44454] #升序 num.sort() print(num) #降序 num.sort(reverse=True) print(num) #逆序 num.reverse() print(num) ######匿名函数####### #以name排序 a=[{'name':'joe','age':10},{'name':'alex','age':5},{'name':'cam','age':22}] a.sort(key=lambda x:x['name']) print(a) #:前面是参数,:后面为返回值 sum=lambda x,y:x+y print(sum(1,2)) def test(a,b,fun): result=fun(a,b) return result a=input('请输入匿名函数:') #a存储的是一个字符串,eval(a)相当于把字符串a的“”双引号去掉 b=eval(a) print(test(10,2,b)) # sum=test(3,2,lambda x,y:x+y) # print(sum)
#数据交换 a=10 b=5 print(a,b) a,b=b,a print(a,b)
# a=100 #不可变类型 a=[100] #可变类型 def summ(num): #可以直接修改可变类型 # num+=num #不可直接修改可变类型 num=num+num print(num) summ(a) print(a)
posted on 2019-07-21 12:59 cherry_ning 阅读(262) 评论(0) 收藏 举报
浙公网安备 33010602011771号