澳门新葡亰登录入口 > 摄影 > 澳门新葡亰老虎机网址:python:函数表达

摄影

澳门新葡亰老虎机网址:python:函数表达

配备参数

  • 型号:ECM-GZ1M
  • 品牌:索尼(SONY)

翻开完整参数>>

重在字参数

Python: 函数参数法力

>>> def SaySome(name,words):

2016-12-01

print(name + '->' +words)

函数参数

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

在 Python 中,定义函数和调用函数都相当轻巧,但怎么着定义函数参数和传递函数参数,则涉及到有个别套路了。总体上看,Python 的函数参数主要分为以下两种:

我爱你->你信吗

必选参数

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

暗中认可参数

你信吗->我爱你

可变参数

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

尤为重要字参数

我爱你->你信吗

必选参数

#经过机要字改成地方

必选参数能够说是最广大的了,从名称想到所包含的意义,必选参数就是在调用函数的时候要传播数量同样的参数,譬喻:

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

1

print(name + '->' +words)

2

>>> SaySome()

3

我爱你->你信吗

4

>>> SaySome('傻逼')

5

傻逼->你信吗

6

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

7

傻逼->哈哈哈

8

最首要字参数是在函数调用的时候,通过参数名定制供给赋值的函数,

9

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

10

募集参数 用 *

11

>>> def test(*params):

12

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

13

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

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

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

...     print x + y

参数的长短是: 6

...

其次个参数是: 小甲鱼

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

>>> def test(*params,exp): #扩大三个参数没访谈到

Traceback (most recent call last):

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

 File "", line 1, in

澳门新葡亰老虎机网址:python:函数表达。print('第贰个参数是:',params[1]);

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

#全体值都给params了,其余参数必要求设置为默许参数

>>> add(1)                # 只传了一个,也特别

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

Traceback (most recent call last):

参数的长短是: 5 8

File "", line 1, in

第三个参数是: 小甲鱼

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

>>> def test(*params,exp = 8): #暗中同意参数不轻便出错

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

print('参数的长度是:',len(params卡塔尔国,expState of Qatar;

3

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

暗许参数

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

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

参数的长短是: 6 8

走访例子就精通了:

第二个参数是: 小甲鱼

1

函数与经过

2

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

3

进度(procedure卡塔尔国是简约的,特殊並且未有重返值

4

python独有函数,没有经过

5

>>> def hello():

6

print('hello world')

7

>>> temp = hello(卡塔尔国hello world>>> temp>>> print(tempState of QatarNone>>> type(temp卡塔尔(قطر‎ 暗中同意值为None

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

>>> def back():

...     print x + y + z

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

...

>>> back()

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

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

6

在函数内部可以访谈全局变量,但不能够改进,

>>> 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