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

  •   Шаг 12. Инициализация объектов. Конструктор __init__.




  •   Описание

    Когда мы пишем простые программы. то код имеет не большое значение.

    Но вот как дело доходит до точных расчётов, например график, или финансовые системы.

    Тогда не учтённый параметр имеет огромное значение. Давайте научимся инициализировать объекты и если какой-то объект не учтён, то система нам выдаст ошибку

    AttributeError: 'Point' object has no attribute 'ingr'

    и

    TypeError: __init__() missing 2 required positional arguments: 'ingr' and 'ingr2'

     



      Статья

    Действительно, представьте вы пишете программу для финансовой системы, в которой каждый параметр важен.

    Например имеем три параметра(атрибута):

    pin

    счёт

    баланс

    Если при взаимдодействии с пользователем, не будет учтён параметр баланс (а юаланс у нас в минусе),

    при этом человек заказал вывод денег, то система сработает не правильно. (что повлечёт потери).

    Или вы варите суп.

    у нас параметры (атрибуты) рецепта:

    картофель

    горох

    морковь

    и т .д.

    Но горох будет не учтён получится ли гороховый суп? Очевидно нет.

     

    именно поэтому мы страхуемся и явно просим пайтон инициализировать все параметры, а если какой-то параметр не инициализирован (не учавсвтует), то показать нам

    исключение в виде: 

    AttributeError: 'Point' object has no attribute 'ingr'

    AttributeError: 'Point' объект не имеет атрибута 'ingr'

     

    Данный код очень распространён в Джанго, там если не указаны все аргументы, мы обязательно получаем эту ошибку.

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

     

    Ведь это имеет прямое отношение к безопасности и точности выпорлнения программы.

     

     

    Перейти у шагу 12.



      Код



    main.py

    
    
    class Point:
    
        def __init__(self, ingr='', ingr2=''):
            self.move(ingr, ingr2)
           
    
                  ........
    
                 .........
    
    
    





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

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



    Поработайте с консолью день, как показал в курсе, что бы всё было только на уровне понимания.

    Так как эти ошибки встречаются везде и в Джанго и в любой программе, нужно чётко понимать, что делать.



    2016-09-02 14:19:52+00:00



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