Що відбувається у функції — лишається у функції
Змінні, створені всередині функції, — локальні: вони існують тільки під час її роботи і не видні ззовні.
def f(): x = 10 print(x) f() # 10 print(x) # помилка NameError: x не існує
Якщо всередині функції присвоїти змінній значення, це буде нова локальна змінна, навіть якщо зовні є змінна з таким іменем:
fuel = 100 def burn(): fuel = 50 # інша, локальна fuel burn() print(fuel) # 100
Правильний спосіб
Передай значення як параметр і поверни результат:
def burn(fuel, amount):
return fuel - amount
fuel = burn(fuel, 30) # 70➜ПОРАДА
Є слово
global, але досвідчені програмісти його уникають: з ним важко зрозуміти, хто що змінює.Перевір себе: 2 задачі з автоперевіркою
▶ Розв'язувати задачіПідказки після помилок, розбір кожної задачі, бали й звання. Безкоштовно, можна без реєстрації.