澳门新葡亰登录入口 > 摄影 > 威尔帝 HD-2000 铁三角稳定器 小斯坦尼康手持单反摄像碳纤维小斯

摄影

威尔帝 HD-2000 铁三角稳定器 小斯坦尼康手持单反摄像碳纤维小斯

配置参数

  • 适用机型:通用
  • 类型:扶持支架

查看完整参数>>

Python: 函数参数法力

第一字参数

2016-12-01

>>> def SaySome(name,words):

函数参数

print(name + '->' +words)

在 Python 中,定义函数和调用函数都比较轻巧,但什么定义函数参数和传递函数参数,则提到到一些套路了。总的来说,Python 的函数参数首要分为以下三种:

>>> SaySome('我爱你','你信吗')

必选参数

我爱你->你信吗

默许参数

>>> SaySome('你信吗','我爱你')

可变参数

你信吗->我爱你

要害字参数

>>> SaySome(words = '你信吗', name = '我爱你')

必选参数

我爱你->你信吗

必选参数能够说是最广大的了,看名称就能够想到其意义,必选参数就是在调用函数的时候要传播数量相仿的参数,例如:

#经过机要字改成地方

1

>>> def SaySome(name= '我爱你',words = '你信吗'):

2

print(name + '->' +words)

3

>>> SaySome()

4

我爱你->你信吗

5

>>> SaySome('傻逼')

6

傻逼->你信吗

7

>>> SaySome('傻逼','哈哈哈')

8

傻逼->哈哈哈

9

主要字参数是在函数调用的时候,通过参数名定制要求赋值的函数,

10

默许参数,正是忘记时,会找起来参数

11

收罗参数 用 *

12

>>> def test(*params):

13

print('参数的长度是:',len(params卡塔尔(قطر‎卡塔尔(قطر‎;

>>> def add(x, y):        # x, y 是必选参数

print('第4个参数是:',params[1]);

...     print x + y

>>> test(1,'小甲鱼',3.14,6,7,8)

...

参数的尺寸是: 6

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

其次个参数是: 小甲鱼

Traceback (most recent call last):

>>> def test(*params,exp): #充实一个参数没访谈到

 File "", line 1, in

print('参数的尺寸是:',len(params卡塔尔国,exp卡塔尔(قطر‎;

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

print('第一个参数是:',params[1]);

>>> add(1)                # 只传了贰个,也要命

#全部值都给params了,其他参数一定要设置为暗中同意参数

Traceback (most recent call last):

>>> test(1,'小甲鱼',3.14,6,7,exp =8)

File "", line 1, in

参数的长度是: 5 8

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

其次个参数是: 小甲鱼

>>> add(1, 2)             # 数量同样,通过

>>> def test(*params,exp = 8): #暗中同意参数不轻易失误

3

print('参数的尺寸是:',len(paramsState of Qatar,exp卡塔尔;

默许参数

print('第3个参数是:',params[1]);

暗中同意参数是指在概念函数的时候提供一些暗中同意值,就算在调用函数的时候未有传递该参数,则自动使用默许值,不然使用传递时该参数的值。

>>> test(1,'小甲鱼',3.14,6,7,8)

拜会例子就理解了:

参数的尺寸是: 6 8

1

其次个参数是: 小甲鱼

2

函数与经过

3

函数(function卡塔尔:有重临值

4

进度(procedureState of Qatar是简约的,特殊並且未有重回值

5

python唯有函数,没有经过

6

>>> def hello():

7

print('hello world')

>>> def add(x, y, z=1):     # x, y 是必选参数,z 是默许参数,暗中同意值是 1

>>> temp = hello(卡塔尔hello world>>> temp>>> print(temp卡塔尔国None>>> type(temp卡塔尔国 私下认可值为None

...     print x + y + z

>>> def back():

...

return[1,'小可爱',3.14]

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

>>> back()

6

[1, '小可爱', 3.14] 重回多少个值

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

在函数内部可以访问全局变量,但无法矫正,

4

能够看见,暗中认可参数使用起来也很简短,但有两点要求在意的是:

默许参数要放在全部必选参数的前面

暗许参数应该运用不可变对象

诸如,下面临默许参数的行使是大谬不然的:

1

2

3

葡京娱乐平台登录,4

5

6

7

8

9

10

11

>>> def add(x=1, y, z):      # x 是暗中认可参数,必得放在全数必选参数的前面

...     return x + y + z

...

 File "", line 1

SyntaxError: non-default argument follows default argument

>>>

>>> def add(x, y=1, z):      # y 是暗许参数,必得放在全体必选参数的末端

...     return x + y + z

...

 File "", line 1

SyntaxError: non-default argument follows default argument

再来看看为何私下认可参数应该使用不可变对象。

小编们看贰个例子:

1

2

3

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

...     L.append('END')

...     return L

在上边的函数中,L 是叁个暗中同意参数,暗中同意值是 [],表示空驶列车表。

大家来走访使用:

1

2

3

4

5

6

7

8

9

10

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

[1, 2, 3, 'END']

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

['a', 'b', 'c', 'END']

>>> add_to_list()                   # 未有传递参数,使用暗中认可值,也没啥难题

['END']

>>> add_to_list()                   # 未有传递参数,使用默许值,竟出现三个 'END'

['END', 'END']

>>> add_to_list()                   # 糟糕了,三个 'END'

['END', 'END', 'END']

缘何呢?大家在调用函数的时候未有传递参数,那么就默许使用 L=[],经过管理,L 应该独有贰个要素,怎会现出调用函数两回,L 就有四个因素呢?

原来,L 指向了可变对象 [],当你调用函数时,L 的内容发生了退换,暗中认可参数的剧情也会随着变,也正是,当你首先次调用时,L 的早先值是 [],当您第二次调用时,L 的最早值是 ['END'],等等。

进而,为了防止不须求的荒诞,大家应该使用不可变对象作为函数的私下认可参数。

可变参数

在好几景况下,我们在概念函数的时候,不能预估函数应该制订多少个参数,这个时候大家就能够行使可变参数了,也正是,函数的参数个数是不分明的。

拜会例子:

1

2

3

4

5

6

>>> def add(*numbers):

...     sum = 0