《像计算机科学家一样思考Python》——3.11 有返回值函数和无返回值函数

简介:

本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第3章,第3.11节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.11 有返回值函数和无返回值函数

我们使用过的函数中,有一部分函数,如数学函数,会产生结果。因为没有想到更好的名字,我称这类函数为有返回值函数(fruitful function)。另一些函数,如print_twice,会执行一个动作,但不返回任何值。我们称这类函数为无返回值函数(void function)。

当你调用一个有返回值的函数时,大部分情况下都想要对结果做某种操作。比如,你可能会想把它赋值给一个变量,或者用在一个表达式中:

x = math.cos(radians)
golden = (math.sqrt(5) + 1) / 2

在交互模式中调用函数时,Python会直接显示结果:

>>> math.sqrt(5)
2.2360679774997898

但是在脚本中,如果只是直接调用这类函数,那么它的返回值就会永远丢失掉!

math.sqrt(5)

这个脚本计算5的平方根,但由于并没有把计算结果存储到某个变量中,或显示出来,所以其实没什么实际作用。

无返回值函数可能在屏幕上显示某些东西,或者有其他的效果,但是它们没有返回值。如果你试着把它们的结果赋值给某个变量,则会得到一个特殊的值None。

>>> result = print_twice('Bing')
Bing
Bing
>>> print result
None

值None和字符串'None'并不一样。它是一个特殊的值,有自己独特的类型:

>>> print type(None)
<type 'NoneType'>

到目前为止,我们自定义的函数都是无返回值函数。再过几章我们就会开始写有返回值的函数了。

相关文章
|
5天前
|
Python
python函数的参数学习
学习Python函数参数涉及五个方面:1) 位置参数按顺序传递,如`func(1, 2, 3)`;2) 关键字参数通过名称传值,如`func(a=1, b=2, c=3)`;3) 默认参数设定默认值,如`func(a, b, c=0)`;4) 可变参数用*和**接收任意数量的位置和关键字参数,如`func(1, 2, 3, a=4, b=5, c=6)`;5) 参数组合结合不同类型的参数,如`func(1, 2, 3, a=4, b=5, c=6)`。
10 1
|
1天前
|
Python
python学习10-函数
python学习10-函数
|
1天前
|
Python
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
|
4天前
|
测试技术 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,用于修改函数或方法的行为。本文将深入探讨Python中装饰器的概念、用法和实际应用,以及如何利用装饰器实现代码的优雅和高效。
|
9天前
|
Python
Python函数学习应用案例详解
学习Python函数的应用,包括计算两数之和、判断偶数、计算阶乘、生成斐波那契数列及反转字符串。示例代码展示了函数接收参数和返回结果的功能,如`add(a, b)`求和,`is_even(num)`判断偶数,`factorial(n)`计算阶乘,`fibonacci(n)`生成斐波那契数,以及`reverse_string(s)`反转字符串。
11 1
|
10天前
|
Python
python基础篇:什么是函数?函数有什么用?
python基础篇:什么是函数?函数有什么用?
23 3
|
13天前
|
安全 Python
Python中input()函数
【4月更文挑战第3天】,`input()` 是 Python 内建函数,用于从控制台获取用户输入。它会暂停程序并显示提示信息(如果提供),用户输入的内容被视为字符串返回。基本语法是 `variable = input(prompt)`,其中 `prompt` 是可选提示信息。例如,`name = input("请输入您的姓名:")` 后,程序会等待用户输入,然后将输入的字符串赋值给 `name`。注意 `input()` 总是返回字符串,需手动转换为其他类型,且避免使用 `eval()` 处理用户输入以防止安全风险。
21 2
Python中input()函数
|
14天前
|
Java C语言 C++
【Python】5. 基础语法(3) -- 函数篇
【Python】5. 基础语法(3) -- 函数篇
23 1
|
14天前
|
程序员 Python 容器
Python中的函数
【4月更文挑战第2天】,Python函数:代码复用的关键,通过`def`定义,接受参数,返回结果。内置如`len()`、`print()`,自定义函数满足特定需求。`lambda`用于快速小功能,参数多样,支持默认和可变。装饰器扩展功能,不改原代码。高阶函数处理其他函数。函数促进DRY原则,增强代码组织和可读性。
14 2
Python中的函数
|
19天前
|
Python
Python内置函数map、split、join讲解
Python内置函数map、split、join讲解
29 0