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