Size: a a a

2020 June 22

DL

Daniyar Lyakhov in Python KZ
Sultan Abilda
Не совсем. Питон не запретит тебе использовать это поля. А джава с private запретит
Обращение к приватным свойствам извне кидает AttributeError
источник

SA

Sultan Abilda in Python KZ
Itachi
А classmethod staticmethod?
Это совсем другое
источник

͏

͏͏͏͏ in Python KZ
Sultan Abilda
Мы говорили про property. Я говорю что они не нужны и они противоречят принципам языка
допустим ты хочешь проверить, что field должен соотв каким то параметрам
источник

SA

Sultan Abilda in Python KZ
Daniyar Lyakhov
Обращение к приватным свойствам извне кидает AttributeError
Ты чего парень? Ничего тебе не кинет.
источник

MB

Muslim Beibytuly in Python KZ
͏͏͏͏
@MuslimBeibytuly а зочем субинтерпретеры...? это явный декоратор над MULTIPROCESSING? или это внутри питон интерпретатора бомжует?
Между multiprocessing и threading.
Пытаются обойти GIL как процесс, а получить лёгкость как тред
источник

͏

͏͏͏͏ in Python KZ
͏͏͏͏
допустим ты хочешь проверить, что field должен соотв каким то параметрам
фигачишь сеттер с валидацией и все
источник

͏

͏͏͏͏ in Python KZ
Muslim Beibytuly
Между multiprocessing и threading.
Пытаются обойти GIL как процесс, а получить лёгкость как тред
звучит вкусно
источник

SA

Sultan Abilda in Python KZ
То что ты делаешь через двойной underscore это просто экранирует то поле
источник

͏

͏͏͏͏ in Python KZ
Sultan Abilda
То что ты делаешь через двойной underscore это просто экранирует то поле
а как сеттить
источник

͏

͏͏͏͏ in Python KZ
эксплицитно через отдельную функцию каждый раз? DEF VALIDATE_MODEL_FIELD?
источник

н

ны in Python KZ
Sultan Abilda
Если честно, не разделяю твоё мнение насчет property. Оно не всегда круто и это по большей части противоречит дзену
а ты пропоузал property читал ?
источник

н

ны in Python KZ
источник

SA

Sultan Abilda in Python KZ
Это pep для descriptor-ов
источник

DL

Daniyar Lyakhov in Python KZ
Sultan Abilda
Ты чего парень? Ничего тебе не кинет.
Example: Private Attributes


class employee:
   def __init__(self, name, sal):
       self.__name=name # private attribute
       self.__salary=sal # private attribute


>>> e1=employee("Bill",10000)
>>> e1.__salary
AttributeError: 'employee' object has no attribute '__salary'
источник

SA

Sultan Abilda in Python KZ
property - это всего лишь пример имплементации
источник

н

ны in Python KZ
Sultan Abilda
Когда ты используешь property ты делаешь поле/метод неявным. А это усложняет понимание решение
This means that programmers facing this API design decision, where the data-like member is a singleton stored in a module, must preemptively add ugly "getters" and "setters" for the data.
источник

н

ны in Python KZ
Красивое лучше, чем уродливое.
источник

SA

Sultan Abilda in Python KZ
ны
Красивое лучше, чем уродливое.
Явное лучше чем не явное
источник

SA

Sultan Abilda in Python KZ
При этом я бы поставил явность выше чем красоту
источник

SA

Sultan Abilda in Python KZ
Daniyar Lyakhov
Example: Private Attributes


class employee:
   def __init__(self, name, sal):
       self.__name=name # private attribute
       self.__salary=sal # private attribute


>>> e1=employee("Bill",10000)
>>> e1.__salary
AttributeError: 'employee' object has no attribute '__salary'
e1._employee__salary
источник