Linux自动化运维——Python(4)(Python中函数的调用及Python中形参,实参,必选参数,默认参数,可变参数,关键字参数的区别)

Linux自动化运维——Python(4)(函数 形参,实参,必选,默认,可变,关键字参数)

1.定义函数

   1).函数输入(参数):num1,num2

   2) 函数的输出(返回值):num1,num2

  3)  定义函数下面“”写的信息是函数的帮助文档

 4)num1:int  告诉读代码的用户,num1需要要传的值是int 如果不是也不会报错

2.调用函数函数名(形参),调用函数时的参数,实参。一般实参要和形参一一对应  形参是形式参数,可以任意更改

#定义函数
def max_num(num1:int,num2:int)->int:
    max = num1 if num1 > num2 else num2
    return max
#print(help(max_num))
max_num(10,20)
#创建一个空函数
def login(username,passwd):
    pass
#函数的调用
result= max_num(12,23)
print(result)

3.函数中参数

(1)必选参数:必须传递的参数

(2)默认参数:如果没有传递参数,使用默认值,如果传递了参数 使用传递的参数

(3)可变参数“用户传递的参数个数可以变化的参数,一般情况下 *args 数据以元组的tuple的方式存储

扫描二维码关注公众号,回复: 11552007 查看本文章

(4)关键字参数:用户传递参数个数可以是多个 并且每个参数需要两个信息(key-value) 一般情况下 用**kwargs表示 数据以dict的方式存储

可变参数举例 
 1 #!/usr/bin/python3
  2 """
  3 def enroll(name,**kwargs):
  4     print(name)
  5     print(kwargs)
  6 enroll("westos",ages=10,city="xi'an")
关键参数举例
  9 def sum_num(*args):
 10     print("args:",args)
 11     print("arges type:",type(args))
 12     return sum(args)
 13 result = sum_num(10,20,2,32)
 14 print(result)
 15 """

4.匿名函数

无需使用def来命名的函数  用到关键字lambda

#求最大值的匿名函数
max_num = lambda num1, num2: num1 if num1 > num2 else num2


#求和的匿名函数
sum_num = lanbda num1, num2:num1 + num2

#求多个数和的匿名函数
sum_many_num + lambad *args:sum(args)



调用
result = max_num(10,20)
print(result)

5.递归函数

猜你喜欢

转载自blog.csdn.net/weixin_43215948/article/details/107431165