在python中,使用def可以定义一个函数。
def Hello():
print("asdf")
return 123
a=Hello()
print(a)
#asdf
#123
就可以定义一个名为hello的函数,其中,return后面的就是该函数的返回值。python的变量类型不固定,所以python的返回值也不固定。
函数从前到后执行,遇到return就会停止,如果执行到结尾也没有遇到return,则返回None并停止。
python的变量有可变类型与不可变类型。可变类型的变量,值是直接储存在变量中的,而不可变类型的变量则没有储存值而是储存了一个指向常量池的指针。
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。
传入可变对象时,类似C++中的指针调用,对象的值可以在函数中改变。
而传入不可变对象时,就像传值调用,函数执行完之后对象的值并没有发生变化。
def Change( a ):
a = 10
b = 2
Change(b)
print b
# 2
但是对list或者dict这样的对象,函数执行过程却可以改变其中的值。
接下来练习一下python的lambda表达式。lambda表达式语法如下:
sum = lambda arg1, arg2: arg1 + arg2;
python的lambda表达式可以用来匿名声明一个函数,但是往往只能写一行,所以 适合有些需要接受函数作为输入值的函数,不必再新定义一个函数。