python 函数参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 函数参数相关的知识,希望对你有一定的参考价值。

函数参数有4种:

  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 函数参数的主要内容,如果未能解决你的问题,请参考以下文章

python 函数

Python的函数和参数

python函数参数类型:位置参数默认参数动态参数

Python参数类型

python函数参数

python 函数参数的类型