К списку категорий

  •   Шаг 16. Глобальные переменные, так же классы внутри функций, также констукция if __name__ == '__main__':


  • python ооп



      Описание

    Разобрать моменты, которые применются в практическом программировании:

    Использование ключевого слова global.

    Использование классов внутри функций.

    Использовании конструкции, для чего:

    if __name__ == '__main__':.........

     



      Статья

    В этом курсе мы рассмотрели несколько практических повседневных аспектов программирования, которые используются повсеместно, именно практически.

     

    1. Вы разаюрались с зарезервированным словом global, начиная с азов разобрали видимость переменных, это думаю знают многие.

    Но совсем не многие знают, как global испоользуется для инициализации классов. Вообще очень важно, например для работы с базами. особенно при испортах.

    2. Так же разобрали, как принципиально писать классы в функциях. Не все это используют, а зря. Это большая сила и гибкость.

    3 И очень подробно расмотрели консрукцию

    if __name__ == '__main__':
    
        main()

    Хотя она относится к функциям, но я заметил что многие не допонимают - Зачем,

     

     

    Перейти к уроку 16.



      Код



    Пример использования класса в теле функций.

    main.py

    
    # -*- coding: utf-8 -*-
    
    def format_string(string, formatter=None ):
    
        class DefaultFormatter:
            def format(self, string):
                return  str(string).title()
    
        if not formatter:
            formatter = DefaultFormatter()
    
        return  formatter.format(string)
    
    hello_srtring = 'Привет мир, как ты сегодня?'
    
    print('inpyt: ' + hello_srtring)
    print('output: ' + format_string(hello_srtring))
    
    
    





      Рекомендации

    Узнать больше в ленте Twitter и подписаться на Ютуб, получать новые видео.



    Домашнее задание к шагу 16 Пайтон ООП.

     
    Перейти к уроку
    http://spb-tut.ru/cabinet/plan5_step/16/
     
    Домашнее задание является очень важным, так как и понимание темы организации кода.
     
    Курс показывает методы организации кода и важно эту тему отработать.
     
    Именно с организации, вернее с понимания, как организовать код, начинается профессиональное программирование.
     
    Возможно уроки покажутся сложноватыми, но это на первый взгляд, пока не пропишите сами.
     
    Сначала нужно ответить на главные вопросы, зачем мы используем такие сложности, например классы пишем в теле функций или
    для запуска класса пишем отдельную функцию?
     
    Как объяснил основатель языка Г. В. Россум именно для того, что бы ошибками даже и не пахло.
     
    В вашей практике будет много случаев, когда вы будете импортировать модуль, особенно если он связан с базами данных, точно знаю, что вы не хотите, это то, что бы каким то образом вдруг отработал класс (и например, пользователь увидел инфу, которую не должен видеть, для этого мы и страхуемся, то есть класс не запустится, пока явно не скажем).
     
    Так же мы затронули глобальную видимость именно в классах.
     
    Писать можно сколь угодно, я вас прошу по аналогии прописать все 11 уроков и главное запомнить, для себя, основные принципы организации кода, именно на основе этого и будут приниматься решения.
    Но для того, что бы принимать эти решения, нужно хотя бы знать, а как выглядит вообще организация кода, которая нарабатывалась годами.
     
    Прошу вас выполнить следующие домашние задания, но со своим кодом и сбросить сюда:
     
    1. чётко уяснить использование конструкции if __name__ == '__main__': - нужно будет для тестирования или для определения главного файла программы. Напишите свой вариант в двух модулях. В первом будет консрукция
    if __name__ == '__main__':, что будет во втором при импорте (варианты).
     
    2. Приведите свой пример определения глобальной видимости, первая часть задания. Вторая часть напишите фунцию инициализации класса, при помощи global. (не важно сейчас научится всё использовать с иголочки, важно знать, что этот метод есть, это будет кость, а мясо нарастите со временем).
     
    3. Научитесь и знайте что это возможно использовать классы в теле функций, напишите свой пример использования класса в теле функции. 
     
    Не пренебрегайте этими примерами. Почему это так важно?
    Важно несколько вещей удобство, безопасность, гибкость.
     
    Со временем вы вырабатаете свои методы, но эти методы общепризнаны, но их мало кто использует в основном только профи. А мы тоже хотим быть профи. 
     
    Думаю убедил.
     
     
    Перейти к уроку


    2016-10-03 10:48:21+00:00



    К списку категорий