11.函数和函数编程

函数和函数编程:

函数和过程:

函数一般指可以调用的实体,接受一些参数,经过一定处理后,最后向调用者返回一些值。

过程一般指没有返回值的函数。

将过程当作函数的语言一般会将过程的返回值(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()

 

你可能感兴趣的:(编程)