首页 >后端开发 >Python教程 >为什么我的 Python 函数返回'None”而不是预期的输出?

为什么我的 Python 函数返回'None”而不是预期的输出?

DDD
DDD原创
2024-11-28 11:00:10430浏览

Why Does My Python Function Return `None` Instead of the Expected Output?

理解 Python 函数返回行为

为什么这个简单的 Python 函数在末尾返回 None ?

def printmult(n):
    i = 1
    while i <= 10:
        print(n * i, end=' ')
        i += 1

解释:

在 Python 中,每个函数返回一个值。如果未显式提供返回语句,则默认返回值为 None。在这种情况下,函数 printmult() 没有指定任何返回值,因此默认返回 None。

期望:

有可能错误地期望printmult(30) 的行为与实际不同。这里有一个说明:

  • printmult(30) 使用参数 30 计算函数 printmult()。
  • 该函数从 1 到 10 打印 30 的乘法表,结果是输出“30 60 90 120 150 180 210 240 270 300 "(不带引号)。
  • 但是,该函数不会返回任何特定值。
  • print() 然后获取 printmult(30) 的返回值(即 None)并打印它,导致没有可见的输出,因为 None 没有字符串

建议:

要避免这种行为,请在函数末尾显式返回所需的值。例如,您可以返回乘法表的最后一个元素:

def printmult(n):
    i = 1
    while i <= 10:
        print(n * i, end=' ')
        i += 1
    return n * 10

print(printmult(30))  # Now returns 300

以上是为什么我的 Python 函数返回'None”而不是预期的输出?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn