在Python中,如果一个变量在函数内部被引用之前没有被赋值,就会抛出UnboundLocalError异常。这通常表示函数中的变量名与全局变量名冲突,或者在函数中没有为变量赋初值。为了解决这个问题,可以使用global关键字将变量声明为全局变量,或者在函数开始时初始化变量。以下是一个示例代码,展示了如何解决UnboundLocalError异常:
def calculate_distance(x1, y1, x2, y2): dist = None # 初始化变量dist def distance(): global dist # 使用global声明dist为全局变量 dist = ((x2 - x1)**2 + (y2 - y1)**2)**0.5 distance() return dist
print(calculate_distance(1, 2, 3, 4))