python函数参数

函数参数有4种:

创新互联主要从事成都网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务墨竹工卡,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

  1. 必填参数:填入规定数量的参数,不能多,也不能少。

  2. 默认参数:把某位参数设置为默认值,这样在不输入的情况下,按默认值传递;即此参数可以不输入。

  3. 可变参数:参数可以任意给多少个都行。 习惯使用*args表示;*arg传入的是tuple。

  4. 关键字参数:= 默认参数 + 可变参数。 习惯使用**kw表示;**kw传入的是dict。


一、必填参数

def cal(x, y):

    t = x + y;

    return t;

二、默认参数

def cal(x, y = 0):

    t = x + y ; 

    return t;

三、可变参数

#once way

def cal(number)  #number 为list / tuple  ---> cal([1, 2, 3, 4])

    sum = 0;

    for n in number:

        sum = sum + n;  #累加

    return sum;

        

#twice way

tup = set(1, 2, 3)

def cal(*number)  #number 为tuple  ---> cal(tup)

    sum = 0;

    for n in number:

        sum = sum + n;  #累加

    return sum;

#other way

tup = set(1, 2, 3)

def cal(*number)  #number 为tuple  ---> cal(tup[0], tup[1], tup[2])

    sum = 0;

    for n in number:

        sum = sum + n;  #累加

    return sum;

四、关键字参数

#once way

def person(name, age, **kw)

    print "name:%s"%name, print "age:",age, print "other:" kw

也可以传入任意个数的关键字参数:

>>>person('Adam',45, gender='M', job='Engineer')
name: Adam age:45 other: {'gender':'M','job':'Engineer'}


先组装出一个dict,然后,把该dict转换为关键字参数传进去:

>>>kw = {'city':'Beijing','job':'Engineer'}
>>>person('Jack',24, city=kw['city'], job=kw['job'])
name: Jack age:24 other: {'city':'Beijing','job':'Engineer'}


简化的写法:

>>>kw = {'city':'Beijing','job':'Engineer'}
>>>person('Jack',24, **kw)
name: Jack age:24 other: {'city':'Beijing','job':'Engineer'}


五、组合

组合顺序:必填参数、可选参数、可变参数、关键字参数

def func(a, b, c=0, *args, **kw):
   print'a =', a,'b =', b,'c =', c,'args =', args,'kw =', kw


>>>func(1,2) a =1 b =2 c =0 args = () kw = {}


>>>func(1,2,3,'a','b', x=99) a =1 b =2 c =3 args = ('a','b') kw = {'x':99}

>>>args = (1,2,3,4)
>>>kw = {'x':99}
>>>func(*args, **kw)
a =1 b =2 c =3 args = (4,) kw = {'x':99}

程序参考于https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000


网页名称:python函数参数
网页URL:http://ybzwz.com/article/ijoiih.html