رفع خطای UnboundLocalError: local variable 'x' referenced before assignment در پایتون

mohsen1 سال قبل
ارسال شده در
mohsen
      x = 1
def change_x():
  x = x + 1
change_x()
    

کد زیر را در نظر بگیرید، تابع change_x قصد تغییر مقدار x را که بیرون از تابع تعریف شده دارد. اما با اجرا کد با خطای زیر مواجه می شویم:

      UnboundLocalError: local variable 'x' referenced before assignment
    

یا خطای زیر در نسخه های قدیمی تر:

      UnboundLocalError: 'x' not assigned
    

برای رفع این خطا کافی است از کلمه کلیدی global استفاده کنیم:

      x = 1
def change_x():
  global x
  x = x + 1
change_x()
    
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!