Size: a a a

Сообщество Python Программистов

2020 December 08

Td

Theo de Raadt in Сообщество Python Программистов
Так офк не работает.
источник

in Сообщество Python Программистов
Вроде бы из-за пайчарма проблема. Сейчас уточню
Не, не из-за пайчарма.
У меня нампай стоял system-wide, а пайчарм ставил новую версию в венв, поэтому запутался
источник

AD

Andrew Dakhnovsky in Сообщество Python Программистов
Theo de Raadt
Халло, пытаюсь тут освоить ООП на питоне и столкунлся с приватными методами. Вопрос собственно, почему
class employee:
       __name='Bill' # private attribute
e1 = employee()
print(e1._employee.__name)
не работает?
бялть
не так
а вот так?
employee.__name
источник

in Сообщество Python Программистов
Andrew Dakhnovsky
нам-пай можно здесь взять сразу готовым колесом
https://www.lfd.uci.edu/~gohlke/pythonlibs/
Он ставится, прочитай ошибку
источник

Td

Theo de Raadt in Сообщество Python Программистов
Andrew Dakhnovsky
бялть
не так
а вот так?
employee.__name
Тоже нет.
источник

Td

Theo de Raadt in Сообщество Python Программистов
Типо, если переопределить инит. И сделать селф  -- то print(e1._employee.__name) -- будет работать.
источник

in Сообщество Python Программистов
Theo de Raadt
Халло, пытаюсь тут освоить ООП на питоне и столкунлся с приватными методами. Вопрос собственно, почему
class employee:
       __name='Bill' # private attribute
e1 = employee()
print(e1._employee.__name)
не работает?
И не должно работать.
источник

Td

Theo de Raadt in Сообщество Python Программистов
Без этого -- нет.
источник

Td

Theo de Raadt in Сообщество Python Программистов
И не должно работать.
Вопрос в том почему.
источник

in Сообщество Python Программистов
Theo de Raadt
Типо, если переопределить инит. И сделать селф  -- то print(e1._employee.__name) -- будет работать.
Ты какую-то дичь делаешь
источник

Td

Theo de Raadt in Сообщество Python Программистов
>Python performs name mangling of private variables. Every member with
double underscore will be changed to _object._class__variable. If so
required, it can still be accessed from outside the class, but the
practice should be refrained.
источник

in Сообщество Python Программистов
Theo de Raadt
Вопрос в том почему.
Потому что питон прячет доступ к полям, начинающимся с __
источник

VA

Vadim Apenko in Сообщество Python Программистов
Tuum Daemonia
тут иначе
Та же фигня. Но картинка сохранилась. Правда кажется не полностью
источник

Td

Theo de Raadt in Сообщество Python Программистов
Theo de Raadt
>Python performs name mangling of private variables. Every member with
double underscore will be changed to _object._class__variable. If so
required, it can still be accessed from outside the class, but the
practice should be refrained.
Зис
источник

T

Tuum Daemonia in Сообщество Python Программистов
Vadim Apenko
Та же фигня. Но картинка сохранилась. Правда кажется не полностью
да, тоже картинка частично сохранилась
источник

VA

Vadim Apenko in Сообщество Python Программистов
Tuum Daemonia
да, тоже картинка частично сохранилась
А не, норм сохранилось. просто прогружается медленно
источник

VA

Vadim Apenko in Сообщество Python Программистов
источник

V

Vadim in Сообщество Python Программистов
Andrew Dakhnovsky
бялть
не так
а вот так?
employee.__name
Ты делаешь атрибутты класса недоступные из вне. Типа такие данные нужны для внутреннего взаимодействия класса
источник

AD

Andrew Dakhnovsky in Сообщество Python Программистов
точканинужна
источник

T

Tuum Daemonia in Сообщество Python Программистов
всего 14мб
источник