函数和函数编程:
函数和过程:
函数一般指可以调用的实体,接受一些参数,经过一定处理后,最后向调用者返回一些值。
过程一般指没有返回值的函数。
将过程当作函数的语言一般会将过程的返回值(return nothing)处理成一个特殊的type,像c中的void;在python中就是None
python的函数返回一个值或者一个对象,但有时会有这样的返回
return 'abc',[4-2j,'python']
其实上述也是一个对象,一个元组容器对象,因为元组语法上不是需要带上圆括号。
根据上面的返回值, 可以通过下面三种方式来保存返回值
aTuple=bar()
a,b=bar()
(a,b)=bar()
python是动态语言,动态确定类型而且函数能返回不同的类型的值,所以没有类型关联。重载不是语言的特性,需要使用type()内建函数作为代理,来模拟c的重载。
函数区别于其他对象的唯一一点就是函数的可调用性,也就是说函数也是可以调用的,可以传递当作参数的,可以成为列表或者字典中的对象 。
函数引用
>>> def foo():
… print 'in foo()'
…
>>> bar = foo
>>> bar()
in foo()
函数传递当作参数
>>> def bar(argfunc):
… argfunc()
…
>>> bar(foo)
in foo()