Python函数/动态参数/关键字参数
1.函数
#函数语法: #函数名规范:小谢字母开头,不同字母下划线隔开(字母数字下划线) #def 函数名(): #函数体:希望函数做的事情
1.1.无参函数
#无参函数 def music(): print("唱着又没动听的歌声...") #调用函数 music()
1.2.有参函数
#有参函数 def zgl_music(name): #形参 print("{0}唱着又没动听的歌声...".format(name)) zgl_music("诸葛亮")#传参:实参 #有参函数-默认参数 def speak(name,yy="中文"): print("{0}说着{1}".format(name,yy)) speak(name="刘备")#刘备说着中文 speak("关于","阿拉伯语")#关于说着阿拉伯语
1.2.1.请把1-100的整数相加和的功能,写成一个函数
#请把1-100的整数相加和的功能,写成一个函数 def jia(sum1,sum2): #判断sum1<sum2 if sum1<sum2: sum = 0 for item in range(sum1,sum2+1): sum = sum+item print("{0}到{1}之间数字相加的结果为:{2}".format(sum1,sum2,sum)) else: print("输入错误!") jia(1,100)
1.3.return
reruen #返回函数结果
#返回a与b的和 def sum(a,b): return a+b #将结果返回 sum = sum(1,2)#返回的结果赋值给另一个变量 print(sum)# 3
1.3.1.无参无返
#无参无返 def sum1(): print("这是个无参无返的函数") #调用函数 sum1()
1.3.2.有参无返
#有参无返 def sum2(a,b): print(a+b) #调用函数 sum2(2,3)
1.3.3.无参有返
#无参有返 def sum3(): return 10 #调用函数 sum3()
1.3.4.有参有返
#有参有返 def sum4(a,b): return a+b #调用函数 sum4(5,5)
1.3.5.写一个函数,检查传入列表的长度,如果大于2,那么保留前两个长度的内容,并将新内容返回
def new_list(lists): if len(lists)>2: return lists[0:2] a=[1,2,3,4] print(new_list(a))
1.4.动态参数/不定长参数☆ ☆ ☆
#动态参数/不定长参数 def sum(*args): #*args arguments print(args)#('张三', '李四', '王五', '麻六') 元组 print("张三:{0}".format(args[0])) print("李四:{0}".format(args[1])) print("王五:{0}".format(args[2])) print("麻六:{0}".format(args[3])) sum("张三","李四","王五","麻六")
1.4.1.动态参数练习
#动态参数求两个数的和 #第一种 def sum1(*a): return a[0]+a[1] print(sum1(8,9)) #第二种 def sum2(*args): sum = 0 for item in args: sum += item return sum print(sum2(2,3))
1.4.1.1.补充1
#第一种 def sum2(*args,a): sum = 0 for item in args: sum += item print("a = {0}".format(a)) return sum print(sum2(2,3,a=1))
输出:
a = 1
5
1.4.1.2.补充2
#第二种 def sum2(a,*args): sum = 0 for item in args: sum += item print("a = {0}".format(a)) return sum print(sum2(2,3,4,5,6))
输出:
a = 2
18
1.5.关键字参数**kwargs☆ ☆ ☆
#关键字参数 key-value **kwargs def kw_sum(**kwargs):# key=value print(kwargs) a={"name":"张三"} kw_sum(k=1,y=2,m=3) #{'k': 1, 'y': 2, 'm': 3}
1.6.变量作用域
#全局变量:在模块里面都能调用
#局部变量:只能用于函数
#当全局和局部变量同名且同时存在的时候,函数有限调用局部变量
a=1#全局变量 def add(b): a=5#局部变量 print(a+b) add(10)#15
1.6.1.全局变量global
global a#全局变量/声明这是一个全局变量 def add(b): a=5#局部变量 print(a+b) add(10)#15