澳门网站大全网址平台柔光箱套装,函数说明

配置参数

  • 特色:影棚灯 影室灯 英国保荣(BOWNES) 爱拍双控500C双灯
    伞/柔光箱套装

查看完整参数>>

3

TypeError: add() takes exactly 2 arguments (0 given)

{‘y’: 2, ‘x’: 1}

[‘END’, ‘END’]

6

kwargs = {}

>>> add(1)                # 只传了一个,也不行

1

5

关键字参数

在调用函数的时候,Python
会自动按照参数位置和参数名把对应的参数传进去。让我们看看:

6

6

4

10

12

8

0

2

5

>>> a = [1, 2]

3

1

 File “”, line 1

11

7

1

可变参数

1

23

4

6

可以看到,默认参数使用起来也很简单,但有两点需要注意的是:

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

5

4

   print ‘z =’, z

4

5

3

4

{‘x’: 1}

   print ‘args =’, args

>>> def add_to_list(L=[]):

[1, 2, 3, ‘END’]

在某些情况下,我们在定义函数的时候,无法预估函数应该制定多少个参数,这时我们就可以使用可变参数了,也就是,函数的参数个数是不确定的。

24

6

numbers: (1,)

小结

11

0

…     print x + y

7

8

29

x = 1

…     return L

>>> def add(x=1, y, z):      # x
是默认参数,必须放在所有必选参数的后面

10

10

7

TypeError: add() takes exactly 2 arguments (1 given)

必选参数

>>> add(*a)                  # 使用 *a,相当于上面的做法

… sum = 0

参数组合在使用的时候是有顺序的,依次是必选参数、默认参数、可变参数和关键字参数。

…    sum += i

2

>>> add(a[0], a[1], a[2])    # 这样传递参数很累赘

2

…     print x + y + z

8

7

kwargs = {‘u’: 6, ‘v’: 7}

14

>>> add(1, 2)               # 没有传递 z,自动使用 z=1,即
1+2+1

7

4

4

y = 2

y = 2

>>> add_to_list()                   #
没有传递参数,使用默认值,竟出现两个 ‘END’

… return x + y + z

9

我们来看看使用:

z = 3

>>> add()                 # 啥都没传,不行

6

4

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

>>> add()           # 传递 0 个参数

y = 2

必选参数

3

… for k, v in kwargs.items():

1

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

>>> a = (1, 2, 3)

z = 4

2

 File “”, line 1, in

6

1

11

3

{}

10

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

10

   return kwargs

3

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

15

18

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

>>> add_to_list()                   #
没有传递参数,使用默认值,也没啥问题

2

…     print ‘numbers:’, numbers

y = 2

11

9

5

看看例子:

…     return sum

16

12

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

比如,定义一个包含上述四种参数的函数:

>>> def add(x, y, z=1):     # x, y 是必选参数,z
是默认参数,默认值是 1

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

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

>>> add(1, 2, 3)            # 1+2+3

4

8

10

3

9

5

kwargs = {‘u’: 6, ‘v’: 7}

参数组合

4

8

15

6

3

9

默认参数要放在所有必选参数的后面

>>> add_to_list([1, 2, 3])          # 没啥问题

args = (4, 5, 6)

17

…     return x + y + z

args = ()

numbers: ()

args = ()

看看例子:

30

和可变参数类似,我们也可以使用 **kwargs 的形式来调用函数,比如:

Traceback (most recent call last):

1

x = 1

6

再来看看为什么默认参数应该使用不可变对象。

2

10

3

>>>

9

[‘a’, ‘b’, ‘c’, ‘END’]

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

5

9

5

8

20

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

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

3

6

1

我们看一个例子:

2016-12-01

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website