Lancer.Rev.X

Пользователь

Регистрация: 07.12.2014

Сообщения: 4234

Рейтинг: 2251

Lancer.Rev.X

Регистрация: 07.12.2014

Сообщения: 4234

Рейтинг: 2251

img

ArtemX сказал(а):


А можно ли в питоне сделать поле или метод приватным? Т.е. чтобы клиенты-потребители не смогли до него достучаться напрямую?


Нажмите, чтобы раскрыть...


можно только рассчитывать на благоразумие юзеров, добавив в начало идентификатора одно подчёркивание, либо можно добавить два подчёркивания, тогда у метода на реальном объекте поменяется название, и его будет сложнее настичь, для этого понадобится более глубокое знание языка. например, делаешь метод def __speak(self) и юзаешь его внутри своего класса, а если хочешь вызвать этот метод через ссылку на объект, то он будет называться уже vasya._Person__speak. это называется name mangling.




также существуют готовые библиотеки, которые добавляют декораторы для приватных методов (accessify).

ArtemX

Пользователь

Регистрация: 16.07.2020

Сообщения: 2825

Рейтинг: 886

ArtemX

Регистрация: 16.07.2020

Сообщения: 2825

Рейтинг: 886

Lancer.Rev.X сказал(а):


free(array);


можно только рассчитывать на благоразумие юзеров, добавив в начало идентификатора одно подчёркивание, либо можно добавить два подчёркивания, тогда у метода на реальном объекте поменяется название, и его будет сложнее настичь, для этого понадобится более глубокое знание языка. например, делаешь метод def __speak(self) и юзаешь его внутри своего класса, а если хочешь вызвать этот метод через ссылку на объект, то он будет называться уже vasya._Person__speak. это называется name mangling.




также существуют готовые библиотеки, которые добавляют декораторы для приватных методов (accessify).


Нажмите, чтобы раскрыть...


Жесткач. И это называется "по-человечески"...

Dont Mind

Пользователь

Регистрация: 25.05.2015

Сообщения: 4613

Рейтинг: 3335

Dont Mind

Регистрация: 25.05.2015

Сообщения: 4613

Рейтинг: 3335

Jeivi сказал(а):


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


Нажмите, чтобы раскрыть...




я бы оспорил этот аргумент. В Джаве полно своих абсолютно глупых решений, особенно ООП головного мозга. И много других... откровенно избыточных конструкций в рамках языка. Скорее каждый из языков имеет свои особенности, к каждому из которых нужно привыкать. Люди переходящие с джавы на питон тоже регулярно творят дичь в нем