Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как изменять глобальные переменные в функции python

  1. Как изменять глобальные переменные в функции python

    Привет, ребята! У меня возник вопрос по поводу глобальных переменных в Python. Как вы изменяете глобальные переменные внутри функции? Мне нужно изменить глобальную переменную, но все попытки дали ошибку или результат не изменился. Поделитесь своими методами и, если можно, приведите пример кода. Заранее спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Чтоб изменять глобальные переменные в функции python, нужно использовать ключевое слово `global`. Вот пример:

    Программный код:
    my_var 10

    def my_function
    ():
        global 
    my_var
        my_var 
    20

    my_function
    ()
    print(
    my_var)  # Вывод: 20 
    Используя `global`, ты даешь знать функции, что собираешься изменять переменную, объявленную за ее пределами.

  4. Цитата Сообщение от EmmaFrost
    Чтоб изменять глобальные переменные в функции python, нужно использовать ключевое слово `global`. Вот пример:

    Программный код:
    my_var 10

    def my_function
    ():
        global 
    my_var
        my_var 
    20

    my_function
    ()
    print(
    my_var)  # Вывод: 20 
    Используя `global`, ты даешь знать функции, что собираешься изменять переменную, объявленную за ее пределами.
    Совершенно верно! Без глобального ключевого слова Python считает, что ты создаёшь локальную переменную с тем же именем.

  5. Привет! Я обычно не использую глобальные переменные по максимуму, но когда приходится, то делаю как было показано. Важно помнить, что для читаемости и безопасности кода лучше избегать глобальных переменных, если есть возможность.

  6. Цитата Сообщение от RealmExplorer
    Привет! Я обычно не использую глобальные переменные по максимуму, но когда приходится, то делаю как было показано. Важно помнить, что для читаемости и безопасности кода лучше избегать глобальных переменных, если есть возможность.
    Да, согласен, глобальные переменные могут привести к труднонаходимым багам. Лучше ограничивать их использование.

  7. Ещё один метод – использовать переменные модуля. Импортировать сам модуль и менять его атрибуты:

    Программный код:
    import my_module

    my_module
    .my_var 10

    def my_function
    ():
        
    my_module.my_var 20

    my_function
    ()
    print(
    my_module.my_var)  # Вывод: 20 

  8. Цитата Сообщение от Мария Обухова
    Ещё один метод – использовать переменные модуля. Импортировать сам модуль и менять его атрибуты:

    Программный код:
    import my_module

    my_module
    .my_var 10

    def my_function
    ():
        
    my_module.my_var 20

    my_function
    ()
    print(
    my_module.my_var)  # Вывод: 20 
    О, интересно! Хотя может быть менее удобно, если модуль большой или сложный, но работать будет.

  9. Маленький хак: если тебе нужно часто изменять данные, лучше используй классы и их атрибуты:

    Программный код:
    class MyData:
        
    my_var 10

    data 
    MyData()

    def my_function():
        
    data.my_var 20

    my_function
    ()
    print(
    data.my_var)  # Вывод: 20 
    Так получится и порядок держать, и глобальные переменные в чистоте сохранить.

  10. Цитата Сообщение от Ирина_
    Маленький хак: если тебе нужно часто изменять данные, лучше используй классы и их атрибуты:

    Программный код:
    class MyData:
        
    my_var 10

    data 
    MyData()

    def my_function():
        
    data.my_var 20

    my_function
    ()
    print(
    data.my_var)  # Вывод: 20 
    Так получится и порядок держать, и глобальные переменные в чистоте сохранить.
    Да, классы - подходящий инструмент. С ними можно избежать кучи проблем, которые возникают из-за глобальных переменных.

Страница 1 из 2 12 ПоследняяПоследняя