如何使用其他函数的变量?

Ave*_*kid 1 python

这是我的代码:

def Area():
    area = pi * radius * radius
    pi = 3.14
    radius = diameter * 2

def cost():
    diameter = eval(input("diamater: "))
    print ("Area is", area)
cost()
Run Code Online (Sandbox Code Playgroud)

它说区域没有定义,但我有一个名为area的变量!

Gar*_*tty 6

area是函数中的局部变量,这意味着在该函数之外,您无法访问它.您应该阅读范围和功能.这里最好的解决方案是从函数返回值,并将参数传递给其他函数.

您似乎缺乏对代码评估方式的理解.代码按顺序依次执行,一个接一个.变量只能在定义后才能使用.在Area(),您尝试使用它们时定义变量.这没有意义.

另请注意,这eval()是从字符串中获取数字的一种不好的方法(它很慢,不是为此目的设计的,并允许任意代码执行),int()而是使用.

另请注意,PEP-8建议保留CapWords类,并使用lowercase_with_underscores函数名,所以Area()应该是area().这有助于保持代码的一致性和可读性.