Some of the functions we are using, such as the math functions, yield results; for lack of a better name, I call them **fruitful functions**. Other functions, like
`print_twice`, perform an action but don’t return a value. They are called **void****functions**.

When you call a fruitful function, you almost always want to do something with the result; for example, you might assign it to a variable or use it as part of an expression:

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

When you call a function in interactive mode, Python displays the result:

>>> math.sqrt(5)2.2360679774997898

But in a script, if you call a fruitful function and do not store the result of the function in a variable, the return value vanishes into the mist!

math.sqrt(5)

This script computes the square root of 5, but since it doesn’t store the result in a variable or display the result, it is not very useful.

Void functions might display something on the screen or have some other effect, but they don’t have a return value. If you try to assign the result to a variable, you get a special value called None.

>>> result = print_twice('Bing')BingBing>>> print resultNone

The value `None` is not the same as the string `'None'`. It is a special value that has its own type:

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

To return a result from a function, we use the `return` statement in our function.

For example, we could make a very simple function called `addtwo` that adds two

numbers together and return a result.

def addtwo(a, b):added = a + breturn addedx = addtwo(3, 5)print x

When this script executes, the `print` statement will print out “8” because the `add two` function was called with 3 and 5 as
arguments. Within the function the parameters *a* and *b* were 3 and 5 respectively. The function computed the sum of the two numbers and placed it in the local function variable
named `added` and used the `return` statement to send the computed value back to the calling code as the function result which was
assigned to the variable `x` and printed out.

- 瀏覽次數：5489