Python学习入门基础教程(learning Python)--2.3.4Python函数返回值
? ? ?本节讨论Python函数返回值问题。
? ? ? ?Python和C语言一样,也可以在函数结束时返回一个值。但在定义自己的Python函数时,是不需要指定返回值数据类型的,这和Python不关心变量的数据类型是一致的,所以在Python里定义一个函数十分简单,原因在于(1)型参不用定义数据类型,(2)函数返回值也不需要定义数据类型,这两点都比C语言要简单,所以可以说Python只关心或重心在于程序的逻辑,而非数据和内存空间的分配管理。
? ? 那如何实现带返回值的函数呢?语法结构如下所示:
[python]?view plaincopy- def?function(arg1,?arg2,...)??
- (tab)?statment1??
- (tab)?statment2??
- (tab)?statment3??
- ??????....??
- ??????return?Variable??
? ? 用实例说明一下好了。这里我们举个求和的例子来说明在Python如何设计带返回值的函数。
[python]?view plaincopy- #define?function?sum??
- def?sum(x,?y):??
- ???z?=?x?+?y??
- ???return?z??
- ??
- #define?function?main??
- def?main():??
- ???a?=?int(raw_input("plz?input?a?"))??
- ???b?=?int(raw_input("plz?input?b?"))??
- ???c?=?sum(a,?b)??
- ???print(c)??
- ??
- #entry?of?programme??
- main()??
? ? 程序运行结果如下:
?
[python]?view plaincopy- plz?input?a?12??
- plz?input?b?13??
- 25??
? ??从结果可以看出输入值12和13通过函数调用c = sum(12, 13)<第10行>传入sum的型参x和y<第2行>,在sum函数里x和y求和之值赋给了z<第3行>,return z<第4行>这条语句将和25又传回给c了<第10行>。
? ??数值流图如下图所示。
?
