Size: a a a

2020 July 31

R(

Roman (rpwheeler) in atinfo chat
Vita
а я хочу по вызову
Пайтон добрый. Можно новые атрибуты создавать по желанию в не-конструкторах класса.
источник

R(

Roman (rpwheeler) in atinfo chat
источник

V

Vita in atinfo chat
вот, именно set
источник

V

Vita in atinfo chat
спасибо
источник

V

Vita in atinfo chat
вернее, setattr
источник

А

Алексей in atinfo chat
за создание инстанс переменной вне инита принято ломать руки.
источник

А

Алексей in atinfo chat
это очень опасная логика :)
источник

А

Алексей in atinfo chat
если есть большая нужда в динамически сконструированном классе - правильнее приметь сет аттр и гетаттр. Ну и по возможности избегать этих конструкций
источник

V

Vita in atinfo chat
ну вот, я вспомнил названия этих методов setatrr и getattr
источник

V

Vita in atinfo chat
спасибо)
источник

R(

Roman (rpwheeler) in atinfo chat
Алексей
за создание инстанс переменной вне инита принято ломать руки.
Кем принято? Где принято? Что за фантастические рассказы?

Человек сам в ответе за свой код, ищет способ что-то сделать, способ есть. Я предпочитаю инициализировать переменные в init через = None , но если человеку очень надо вне init -- это можно сделать.
источник

ИС

Игорь Середа... in atinfo chat
Roman (rpwheeler)
Кем принято? Где принято? Что за фантастические рассказы?

Человек сам в ответе за свой код, ищет способ что-то сделать, способ есть. Я предпочитаю инициализировать переменные в init через = None , но если человеку очень надо вне init -- это можно сделать.
Интерпретаторы даже предупреждения в таких случаях выкидывают. Но если человеку удобно, он может себе и колено прострелить.
источник

А

Алексей in atinfo chat
Roman (rpwheeler)
Кем принято? Где принято? Что за фантастические рассказы?

Человек сам в ответе за свой код, ищет способ что-то сделать, способ есть. Я предпочитаю инициализировать переменные в init через = None , но если человеку очень надо вне init -- это можно сделать.
проблемы начинаются тогда, когда на проекте становится больше одного человека. Тогда все самострелы в ногу типа динамического конструирования начинают давать баги и нестабильное поведение приложение. Поэтому существует pep 8, гайдлайны и общие стили разработки.
источник

R(

Roman (rpwheeler) in atinfo chat
Игорь Середа
Интерпретаторы даже предупреждения в таких случаях выкидывают. Но если человеку удобно, он может себе и колено прострелить.
Ну выкидывают. Но не настаивают. Опять таки это решается через = None в ините.
источник

ИС

Игорь Середа... in atinfo chat
Roman (rpwheeler)
Ну выкидывают. Но не настаивают. Опять таки это решается через = None в ините.
Так речь и была про это. Записывать переменные объекта никто не запрещает в любом участке логики. Мы говорим про инициализацию свойств вне __init__.
источник

А

Алексей in atinfo chat
Roman (rpwheeler)
Ну выкидывают. Но не настаивают. Опять таки это решается через = None в ините.
Ну да, правильно - инициализировать переменную в ините (None), чтобы любой читающий код сразу видел структуру полей в классе. Неправильно - докидывать поле через settattr где то в жизненном цикле экземпляра класса, и добавлять завязки на это поле в коде изначальных методов. Если уж нужно докидывать поля так - они должны быть использованы только какими либо внешними обращениями.
источник

А

Алексей in atinfo chat
Пример правилнього использования:
В конфтесте пайтеста мы в хуке
def pytest_itemcollected(item):
добавляем к тесткейсу поле
setattr(item, "extended_description", "Special text for reporting" )
Затем его использует какой то внешний код, например в
def pytest_runtest_makereport(item, call):

В этом случае оригинальное поведение объекта никак не аффектится, вполне легальное действие.

А вот за
class Example:
   def init(self):
       ...
   
   def calculate(self):
       return self.data
   
cl = Example
setattr(cl, "data", "Text")
cl.calculate()
обычно больно бьют, так как неявная логика во всей красе
источник

EY

Eugene Yarosh in atinfo chat
Подскажите кто-то использует какой-то другой инструмент для поиска элементов вместо Layout Inspector в  android studio  ?
источник

AP

Alex P 🏡 in atinfo chat
Eugene Yarosh
Подскажите кто-то использует какой-то другой инструмент для поиска элементов вместо Layout Inspector в  android studio  ?
Uiautomationviewer, appium inspector?
источник

EY

Eugene Yarosh in atinfo chat
Alex P 🏡
Uiautomationviewer, appium inspector?
Uiautomationviewer - простой и хороший был, но его же вроде андирод уже похоронил заменив лайаут инспектором(
источник