为什么返回不打印内部函数结果?

2024-09-28 22:29:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经用jupyter和python终端进行了测试,当代码到达return时,它会输出结果,即使结果是真是假,但是为什么它不打印内部函数结果呢?python总是打印返回结果吗?你知道吗

def is_evern(i):
  if i%2==0: 
    print(i,'is even')
    return(True)
  print(i,'is odd')
  return(False)



def func_call(i):
  return(True)

命令输出:

>>> is_evern(5)
5 is odd
False
>>> func_call(is_evern(5))
5 is odd
True
>>>       

Tags: 函数代码falsetrue终端returnifis
3条回答

以交互方式运行命令时,Python会打印您键入的表达式的结果。此外,它将打印您用print语句输出的任何内容。你知道吗

但是,它不会打印您调用的每个函数的结果。只是最后一个。你知道吗

当您有一个带有return语句的函数,但没有将该返回赋给实际变量时,它将打印返回值

x = func_call(is_evern(5))
>>5 is odd

返回变量将阻止打印返回。或者如果你不想使用它就不要返回变量

Python有三种类型的作用域: 1内置 2全球的 三。随函附上的 4本地

当您使用终端时,您处于全局范围内,并且它只能访问您正在调用的第一个函数。当您键入函数名并调用它时,终端(python命令行)只看到立即返回,并打印它,但无法访问内部返回,因此您需要将其传递到更高的范围,以便python可见。你知道吗

相关问题 更多 >