def calc_circle_area(circle_diameter):
pi_val = 3.14159265
circle_radius = circle_diameter / 2.0
circle_area = pi_val * circle_radius * circle_radius
return circle_area
def pizza_calories(pizza_diameter):
calories_per_square_inch = 16.7
total_calories = calc_circle_area(pizza_diameter) * calories_per_square_inch
return total_calories
print('12 inch pizza has %.2f calories.'% pizza_calories(12.0))
print('14 inch pizza has %.2f calories.'% pizza_calories(14.0))
因此,我对"返回"的顺序如何运作感到困惑...... 帮助?:(
在我相信你可能正在考虑的意义上,返回没有"顺序"。每个函数都是一段单独的代码,我认为您的"顺序"概念不适用于此。例如,如果您运行一个 Python 脚本,仅包含:
def calc_circle_area(circle_diameter):
pi_val = 3.14159265
circle_radius = circle_diameter / 2.0
circle_area = pi_val * circle_radius * circle_radius
return circle_area
Python 脚本将生成一个名为calc_circle_area
的函数,但它不执行该函数。该函数仅在调用函数时执行。所以同样,如果我执行以下操作:
def func_a():
return 'Function A'
def func_b():
return 'Function B'
这两个函数都已定义,但未调用。Python所关心的只是函数在被调用之前是否被定义。所以:
def func_a():
return 'Function A'
def func_b():
return 'Function B'
print(func_a)
print(func_b)
给出与以下内容完全相同的输出:
def func_b():
return 'Function B'
def func_a():
return 'Function A'
print(func_a)
print(func_b)
定义的顺序在这里无关紧要。因此,在这里,您的代码执行以下操作:
- 定义
calc_circle_area
- 定义
pizza_calories
- 调用
pizza_calories
,并在 print 语句中使用返回的值 - 调用
pizza_calories
,并在 print 语句中使用返回的值
调用pizza_calories
时,它使用函数calc_circle_size
生成total_calories
。因此,它调用calc_circle_size
,并使用返回值生成total_calories
。如果更容易,可以考虑以下等效代码:
def pizza_calories(pizza_diameter):
calories_per_square_inch = 16.7
###
# Here, I am using the same code as is used in calc_circle_area,
# but with consistent variable names as is used in pizza_calories.
pi_val = 3.14159265
circle_radius = pizza_diameter / 2.0
calc_circle_area_value = pi_val * circle_radius * circle_radius
###
total_calories = calc_circle_area_value * calories_per_square_inch
return total_calories
print('12 inch pizza has %.2f calories.'% pizza_calories(12.0))
print('14 inch pizza has %.2f calories.'% pizza_calories(14.0))
我希望这更有意义。