永利:拍录器械,函数表明

配置参数

  • 特色:金贝 穷游网套装 55度便携标准灯罩专用(10度20度30度40度卡塔尔国油画器具 蜂巢罩

翻看完整参数>>

args = (4, 5)

>>> add()            # 未有参数,kwargs 为空字典

10

>>> a = [1, 2, 3, 4]

2

举个例子,定义两个包含上述多种参数的函数:

可变参数

12

>>> dict2 = {‘x’: 2, ‘y’: 6}

>>> def func(x, y, z=0, *args, **kwargs):

>>> func(1, 2, 4, u=6, v=7)        # args = (), kwargs = {‘u’:
6, ‘v’: 7}

9

y = 2

2

6

   print ‘z =’, z

… for i in numbers:

Python: 函数参数法力

>>>

2

25

4

kwargs = {}

8

11

所以,为了防止不供给的不当,大家理应利用不可变对象作为函数的暗许参数。

Traceback (most recent call last):

… sum = 0

23

3

0

3

6

…     for i in numbers:

>>> func(*a, **b)

3

numbers: ()

10

>>> b = (4, 5, 6)

>>> func(1, 2, 3)                  # x=1, y=2, z=3

3

4

10

5

2

再来看看为啥暗许参数应该利用不可变对象。

>>> add(1)                # 只传了一个,也极度

 File “”, line 1, in

>>> def add_永利,to_list(L=[]):

5

…     print x + y + z

2

… return x + y + z

args = ()

args = ()

2

3

参数组合

…     sum = 0

6

8

args = ()

看看例子:

y = 2

3

和可变参数类似,大家也能够动用 **kwargs 的款式来调用函数,举例:

函数的参数 – 廖雪峰的官网

>>> def add(**kwargs):

>>> def add(*numbers):

1

5

… sum = 0

>>> dict1 = {‘x’: 1}

12

7

SyntaxError: non-default argument follows default argument

>>> def add(x, y, z):        # 有 3 个必选参数

numbers: (1, 2)

21

举例说,上边前遭遇默许参数的使用是不当的:

小结

>>> add(*a)                  # 使用 *a,约等于位置的做法

可变参数允许你将不定数量的参数传递给函数,而关键字参数则允许你将不定长度的键值对,
作为参数字传送递给二个函数。

z = 4

z = 3

4

6

… return x + y + z

numbers: (1, 2, 3)

>>> add(*a)                  # 使用 *a 给函数字传送递参数

3

1

5

>>> add(x=1, y=2)    # x=1, y=2 => kwargs={‘y’: 2, ‘x’: 1}

1

…     return sum

3

>>> add_to_list([‘a’, ‘b’, ‘c’])    # 没啥难点

上面的 * 表示大肆参数,实际上,它还有其余三个用法:用来给函数字传送递参数。

*args 表示可变参数,**kwargs 表示关键字参数。

y = 2

6

…         sum += i

4

8

6

>>> func(1, 2)                     # 最少提供三个参数,因为 x,
y 是必选参数

>>> def sum(**kwargs):               # 函数参数是尤为重要字参数

2

args = (4, 5, 6)

[‘END’]

File “”, line 1, in

4

探访例子:

会见例子就明白了:

>>> func(1, 2, 3, 4, 5, 6)         # x=1, y=2, z=3, args=(4,
5, 6), kwargs={}

4

>>> add(1, 2)       # 传递 2 个参数

暗许参数要放在全体必选参数的背后。

4

9

3

27

 File “”, line 1

默许参数是指在概念函数的时候提供一些暗中认可值,假使在调用函数的时候未有传递该参数,则自动使用私下认可值,不然使用传递时该参数的值。

1

…     print x + y

13

私下认可参数

…     return x + y + z

7

y = 2

2016-12-01

>>> def add(x=1, y, z):      # x
是默许参数,必需放在全部必选参数的末尾

9

>>> sum(**dict2)                     # 相当于 sum(x=2, y=6)

15

3

…     print ‘numbers:’, numbers

10

kwargs = {}

8

2

咱俩看叁个例证:

3

9

15

9

x = 1

29

11

   print ‘y =’, y

3

4

x = 1

7

>>> a = [1, 2]

5

5

再看一个例子:

11

14

5

1

kwargs = {}

1

>>> dict1 = {‘z’: 3, ‘x’: 1, ‘y’: 6}

参照他事他说加以考察资料

4

6

参数组合在利用的时候是有各种的,依次是必选参数、暗许参数、可变参数和根本字参数。

11

>>> add(1, 2, 3)    # 传递 3 个参数

1

20

私下认可参数应该选择不可变对象

7

2

*args 和 **kwargs 是 Python 的惯用写法。

>>> add(dict1[‘x’], dict1[‘y’], dict1[‘z’])    #
那样传参很麻烦

>>> func(1, 2, 3, 4, 5, u=6, v=7)   # args = (4, 5), kwargs =
{‘u’: 6, ‘v’: 7}

Leave a Comment.