Slam!
Каво
Stas
Привет парни, как правильно поля определять для класса, внутри констуктора или внутри класса? а то пичарм предлагает в конструкторе определять, я по привычке из других языков в теле класса определяю
Denis
🍁 Jaŭhien
Поля объекта - в конструкторе, поля, объявленные в классе будут доступны для всех объектов этого класса
Anonymous
парни, какая версия последнего питона?
Stas
всё понял, спасибо
c
🍁 Jaŭhien
Anonymous
самые последние есть смысл качать?
Denis
Да
Stas
ещё вопрос по аналогии интерфейсов, как правильо принято декларировать реализацию каких методов я ожидаю от класса. Т.е. контракт реализация которго ожидается от объекта, чтобы другому программисту не было неообходимости искать по всему коду, какие методы вызываются у объекта, как это вообще принято делать в питоне.
Александр
Stas
Дошло) про ABC прочитал
c
c
если нужно вызывать код, то колбэки
c
иногда через декораторы
Александр
гайдлайны плюс-минус примерно одинаковые для всех языков. Константы, например, идут заглавными буквами, для приватных членов в начале (или в конце) идет знак подчеркивания и тд. Не нужно для каждого языка делать какие-то выдающиеся отличия в стиле написания кода
Stas
в целом, интерфейсы это не pythonic way
я понимаю что этотже вопрос можно более менее решить например передачей в конструктор функции, но здесь както много прозрачности, как такового контракта нет
Denis
Ilyas
Есть дата фрэйм , вопрос как удалить из дата фрэйма колонны названия которых меньше трех букв (pandas)?
Stas
Anonymous
http://prntscr.com/oqxikr
Ilyas
можете помочь с функцией не особо разбираюсь в питоне :/
Anonymous
http://prntscr.com/oqxinf
Anonymous
устанавлиаю pyinstaller
Anonymous
дает ерор такой
Anonymous
можете помочь?
Александр
кириллицы лучше избегать в названиях каталогов
Александр
папки пользователя не переносил в др каталог?
Anonymous
нет
Александр
из-за этого тоже может быть. У меня когда-то тоже что-то не устанавливалось. Оказывается из-за того, что у меня была перенесена папка AppData в на диск D, привык настройки там хранить, и путь был слишком длинный.
Anonymous
попробую
Anonymous
переиминовать
Anonymous
пользователя
Александр
переименовать не поможет, каталог уже не переименуется. Только нового пользователя
Stas
можете помочь с функцией не особо разбираюсь в питоне :/
import pandas as pd
df = pd.DataFrame(columns=['olo', 'ad', 'dfsdf', 'd', 'dsfsdf', 'dsfsdf'])
drop_list = list([x for x in df if len(x) < 3])
df.drop(drop_list, axis=1, inplace=True)
print(df)
Danila
Добрый вечер. Есть приложение, которое мониторит kv хранилище etcd на предмет обновления ключей(watch_prefix), забирает значения этих ключей и запускает некоторые продолжительные операции. Как сделать внутри программы что-то вроде воркера? Т.е. программа получает"задачу" из etcd и отправляет ее воркеру, который ее обрабатывает, притом программа может обрабатывать несколько задач параллельно(путем создания нескольких воркеров)
Ilyas
misanthrop
misanthrop
Очередь + воркеры
Ilyas
Есть проблема связанная с topic modeling с помощью Latent dirichlet allocation(LDA). Чтобы использовать модель, нужно предоставить сам датафрэйм и dictionary. Я сделал dictionary на изначальный датафрэйм, но не знаю, как сделать его на уже изменённый датафрэйм, где я удалил stopwords. Кто подскажет?
lda = LdaMulticore(common_corpus, id2word=common_dictionary, num_topics=10)
Alex
ребят, а в каких случаях обязательно юзать глобал, а в каких нет?
то есть я обьявляю переменную внешне вне функций, а потом хочу ее менять в нескольких функциях сразу, и вот я щас смотрю, что я одном случае работает без глобала, в другом не работало. от чего это зависит?
Julian 🏳️🌈
Ну обычно global переменные нужно юзать с префиксом # насколько я знаю
Alex
ну у меня нет такого
Alex
нужно по стилю или прям по требованию питона?
Julian 🏳️🌈
Нет кнопки # на клавиатуре?
Alex
на второе не похоже
Julian 🏳️🌈
Alex
а
Alex
ну меня щас именно тех.часть интересует
Julian 🏳️🌈
Вообще, я хочу намекнуть, что global не нужен, поэтому если он у тебя есть, значит закоменти🙈
Alex
зачем нужен глобал если просто использовать внешнюю переменную в нескольких функциях и без него получается\
Anonymous
Anonymous
Его лучше не юзать никогда
Matt
из функции*
Anonymous
Да и глобальные переменные нужно по максимум избавляться от них
Alex
Anonymous
Привели пример
Alex
в том же телеботе ты не сможешь просто так вызывать функцию с произвольным параметром, не сможешь в любой момент передать в хендлер сообщений произвольный словарь, потому его проще держать глобальным
Anonymous
Тогда сделать его насколько возможно минимальным
Alex
да можно сделать через костыли
Alex
но
Alex
чем это лучше чем просто иметь глобальный словарь
Anonymous
Ну например есть базы данных, в которых можно те же данные хранить
Alex
произвольные?
Julian 🏳️🌈
Ну или бахнуть два потока чтоб они между собой общались
Alex
в sqlite например нельзя запихнуть обьект message
Alex
насколько я знаю
Alex
а в словарь можно
Alex
Alex
и все юзают словарь?
Alex
Anonymous
О.о зачем сообщение вне хендлера полностью?
Alex
Alex
я образно привел пример
Alex
юзера например храню, потому что у меня есть внешние функции которые принимают юзера
Anonymous