Python函数

来源:互联网 发布:linux全局翻墙教程 编辑:程序博客网 时间:2024/06/07 21:48

Python中函数的定义格式如下:

def 函数名(参数1,参数2,...):

...

return 表达式

一、关于函数的参数

由于在Python一切皆对象,故参数的传递是引用传递,即形参和实参指向内存中的同一个空间。

可变长度参数使用*,如

def func(*args):    print(args)func(1, 2, 3)
输出结果是一个元组,(1,2,3)

此时*引用一个元组

也可使用**引用一个字典。如

def func(*args, **dic1):    print(args)
**引用一个字典。

二、函数的返回值

在Python中若函数体中没有return语句,返回None,这和Java不同。

若函数体中的return语句没有参数,也是返回None(None是Python的对象)。

在Python中有一些“奇怪”的写法,特别是对于Java开发人员来说,如在return语句中可以返回多个值,多个值之间以逗号间隔。

三、函数的嵌套

Python的语法总是颠覆我的认识,其中函数的嵌套就是这样的。Python支持函数定义的嵌套。且内部函数可以引用外部函数中的变量。强烈不建议在函数内部定义函数,这容易造成逻辑上的混乱,不易维护!!

四、lambda函数

lambda函数的格式如下:

lambda 变量1,变量2,。。:表达式

通常把lambda赋值给一个变量,该变量可作函数使用。如

sum = lambda x, y : x + ysum(x, y)

实际上,lambda是创建了一个匿名函数,把lambda赋值给一个变量是把该匿名函数的地址赋值给该变量。

也可把lambda作为函数使用,如

(lambda x: -x)(-2)
此处函数的参数是-2。返回值是2。





0 0
原创粉丝点击