Pythonic способ проверить, имеет ли поле класса данных значение по умолчанию - PullRequest
0 голосов
/ 03 декабря 2018

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

from dataclasses import fields, MISSING

@classmethod
def from_json(cls)
    datacls_fields = fields(cls)
    for field in datacls_fields:
        if  (field.default != MISSING):
            #...

Однако в официальной документации говорится:

Значение MISSING равносторожевой объект, используемый для определения наличия параметров default и default_factory.Этот страж используется, потому что None является допустимым значением по умолчанию. Ни один код не должен напрямую использовать значение MISSING.

Кто-нибудь знает лучший / более питонский способ сделать это?

...