2017-07-27 72 views
-1

Attached picture related to return valuePython基础 - 返回值

在附图中,我想知道为什么有两个结果?这是由于def函数派生一个和打印函数派生另一个?谢谢!

+0

请在你的问题的文本代码。 https://stackoverflow.com/editing-help – perigon

+0

在Python中,所有函数都会返回一个对象(默认为“None”)或引发异常。打印是为用户设计的副作用。它与程序和用户使用的返回对象不同。设计功能的目的是以他们返回的对象为中心。确实是 – pylang

回答

2

默认情况下,函数自动返回

def f(): 
    pass 

>>> print(f()) 
None 

你当然可以指定其他的返回值:

def f(): 
    return 42 

>>> print(f()) 
42 

在您的例子中,函数打印的值,返回。第二个打印然后显示有两个打印 - 这就是为什么你看到两个值打印。

+0

。澄清。你的函数不返回任何东西(即默认返回None)。因此,您的打印(half_value(42))第一个exectus half_value(42)将打印21.0,然后在half_value的返回值(即None)上执行打印 – user1352683