python:函数说明

作者:欧亿测速登录

陈设参数

  • 适用机型:通用
  • 品牌:唯卓
  • 类型:微电影器械

查阅完整参数>>

重中之重字参数

Python: 函数参数魔法

7.1 默许参数

概念函数的时候,还足以有暗中同意参数。比如Python自带的int()函数,其实就有多个参数,大家不仅可以够传二个参数,又有啥不可传多少个参数:

>>> int('123')

123

>>> int('123', 8)

83

int(卡塔尔(قطر‎函数的第四个参数是退换进制,假设不传,暗中同意是十进制 (base=10卡塔尔国,若是传了,就用传入的参数。

可见,函数的暗中认可参数的功力是简化调用,你只要求把必得的参数字传送进去。不过在急需的时候,又能够流传额外的参数来掩没默许参数值。

>>> def SaySome(name,words):

2016-12-01

7.2 可变参数

设若想让叁个函数能选取跋扈个参数,我们就能够定义三个可变参数:

deffn(*args):print args

可变参数的名字前边有个号,大家能够传入0个、1个或多个参数给可变参数:

>>> fn()

()

>>> fn('a')

('a',)

>>> fn('a', 'b')

('a', 'b')

>>> fn('a', 'b', 'c')

('a', 'b', 'c')

可变参数亦不是很隐衷,Python解释器会把传播的后生可畏组参数组装成四个tuple传递给可变参数,由此,在函数内部,直接把变量args 看成二个tuple 就好了。

概念可变参数的目标也是为着简化调用。如若大家要总计大肆个数的平均值,就足以定义二个可变参数:

defaverage(*args):...

如此,在调用的时候,能够那样写:

>>> average()

0

>>> average(1, 2)

1.5

>>> average(1, 2, 2, 3, 4)

2.4

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

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卡塔尔(قطر‎,exp卡塔尔(قطر‎;

3

print('第叁个参数是:',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(卡塔尔(英语:State of Qatar)hello world>>> temp>>> print(temp卡塔尔国None>>> 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

本文由欧亿登录地址发布,转载请注明来源

关键词: