day9
#函数 # #长度1 len # s='你好智旻' # print(len(s)) # # # #长度2 # i=0 # for k in s: # i +=1 # print(i) #命名函数 ''' s='包头市大宝贝' #len(s) def my_len():#命名函数 i = 0 for k in s: i += 1 print(i) my_len()#运行函数,没有返回值 ''' #返回值 ''' a='觉得卡死了' #len(s) def my_len():#命名函数 i = 0 for k in a: i += 1 return i#返回值 length1=my_len()#运行函数 s='包头市大宝贝' def my_len():#命名函数 i = 0 for k in s: i += 1 return i#返回值 length2=my_len() print(length1+length2) ''' #返回值的分类 ''' #没有返回值 #不写return i #只写return,不写i ,又表示结束一个函数 #return none--不常用 #有一个返回值 def func(): return 1 return 1 #这个不执行 print(func()) #有多个返回值 #多个变量接收多个返回值 def func(): return 1,2 r1,r2=func() print(r1,r2) #一个变量接收一个返回值,返回元组 def func(): return 1,2,3 r1=func() print(r1) ''' #参数 # def my_len(a):#自定义参数,接收参数,形式参数 # i = 0 # for k in a: # i += 1 # return i#返回值 # length1=my_len('觉得卡死了')#传递参数 # length1=my_len([1,2,3,4])#传递参数,实际参数 # print(length1) # # def my_len(a):#自定义参数,接收参数,形式参数 # for k in a: # print(k) # # def my_len1(a): # 自定义参数,接收参数,形式参数 # for k in a: # print(k) # my_len([1,2,3,5]) # my_len1([1,2,3,5]) # def my_len(a):#3 # for k in a:#4 # print(k)#5 # # def my_len1(a): # 1 # my_len(a)#2 # for k in a:#6 # print(k)#7 # my_len1([1,2,3,5]) # def f1(a,b): #位置传参 # res=a+b # return res # print(f1(1,2)) # # def f1(a,b): # 关键字传参 # res=a+b # return res # print(f1(a=1,b=2)) #参数 ''' #位置参数在前 默认参数(即关键字传参)在后 def classmate(sexy,name='人间芭比'): print("%s,%s"%(name,sexy)) classmate(name='兄嘚',sexy='男') classmate(sexy='女') # classmate('女') #位置参数必须在动态参数之前定义 classmate(sexy='女',name='小姐姐')#关键字传参,可以调换位置 classmate('女','小姐姐')#位置传参不可以 #动态参数 args必须在kwargs之前 #*args 接受位置参数,组成元组 def sum(*args): n=0 for i in args: n+=i return n sum(1,2) print(sum(1,2)) print(sum(1,2,3,4)) #args 默认参数 def sum(*args,l=[]):#args无法进行关键字传参 print(args,l) sum(1,2,'saK',l=[2,'jk']) #kwargs 关键字传参,组成一个字典 def func(**kwargs): print(kwargs) func(a=1,b='hk',c=["jka",'js']) #顺序:位置参数 args 默认参数 kwargs def func(*args,de=1,**kwargs): print(de,args,kwargs) func(1,2,3,'sd',de=5,a='sj',c=2) ''' #*args另一种方法 def func(*args): print(args) func(1,2,3,4,5) l=[1,2,3,4,5,6] func(*l)#*l给序列加*就是将序列按顺序打散 #**kwargs另一种方法 def func(**kwargs): print(kwargs) func(de=5,a='sj',c=2) e={"a":1,'b':'hk','c':"jka"} func(**e)