python函数

2018-02-07  本文已影响0人  lxy_悦

函数深入

  1. 所有参数(自变量)在Python里都是按引用传递。如果你在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。
# -*- coding: utf-8 -*-


def fun(data):
    data.append(1)

if __name__ == '__main__':
    a = [0, ]
    fun(a)
    print a

结果:
[0, 1]
  1. 如果传入的参数不确定,用加了(*)的变量参数
# -*- coding: utf-8 -*-


def fun(*st):
    print st

if __name__ == '__main__':
    fun(0)
    fun(0, 1, 2)

结果:
(0,)
(0, 1, 2)

匿名函数 lambda

python 使用 lambda 来创建匿名函数。
● lambda只是一个表达式,函数体比def简单很多。
● lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
● lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数
● 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

lambda [arg1 [,arg2,.....argn]]:expression

如下实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;
 
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )

结果:
相加后的值为 :  30
上一篇下一篇

猜你喜欢

热点阅读