@ru_python

Страница 8443 из 9768
Maksim
21.03.2019
09:47:13
нет это мы не очень поняли вопрос. чего тебе надо?
Нужно сохрвнить в массив результаты веб поиска, например в гугле

Alex
21.03.2019
09:47:19
Tishka17
21.03.2019
09:47:28
Его можно сделать самому
это как позавчера на хзабре приватные методы делали?

Google
Denis
21.03.2019
09:47:42
В гетаттре модуля смотришь последний фрейм, и если он не из этого модуля, кидаешь ошибку

Alex
21.03.2019
09:47:48
Нужно сохрвнить в массив результаты веб поиска, например в гугле
ну дык берешь библиотеку requests \ beautifulsoap и загружаешь в массив свои результаты поиска.

эталонное не нужно

мы знаем что из буханки хлеба можно сделать троллейбус, но зачем?

Maksim
21.03.2019
09:48:47
Alex
21.03.2019
09:48:59
Спасибо за подсказку. На питоне первый день)
тогда ты занимаешься абсолютно не тем чем надо

и ты явно сюда пришел зря.

Maksim
21.03.2019
09:49:28
Alex
21.03.2019
09:49:30
во-первых книжку в зубы и вперед. во-вторых @ru_python_beginners.

в-третьих пока книжку не прочтешь в чатиках лучше бы просто читать, так как ответы на 90% твоих вопросов будут находиться в книжке, на остальные 10% в документации или гугле.

Tishka17
21.03.2019
09:50:37
В гетаттре модуля смотришь последний фрейм, и если он не из этого модуля, кидаешь ошибку
$ cat q.py a=12 def __getattr__(x): return "AAA" $ python3 >>> import q >>> q.a 12 >>> q.b 'AAA' чет не поулчается скрыть переменную

Google
Tishka17
21.03.2019
09:51:24
Denis
21.03.2019
09:51:26
Pavel
21.03.2019
09:51:36
зачем вообще эта дичь?

Tishka17
21.03.2019
09:51:49
А переменную держать в локальном словаре гетаттра
а как тогда в пределах модуля к ней обращаться?

Denis
21.03.2019
09:52:08
Ну да, у безопасности свои издержки

Pavel
21.03.2019
09:52:38
Ну да, у безопасности свои издержки
а в чем тут безопасность?

вот в ногу так выстрелить очень хорошо можно

Tishka17
21.03.2019
09:54:03
А переменную держать в локальном словаре гетаттра
def newget(): a = 1 def get(x): if x=="b": return a return "AAAA" return get __getattr__ = newget() так?

ну if естественно заменить на реальный

LighteR
21.03.2019
09:54:25
к слову, есть typing_extensions.Final

Worlak
21.03.2019
09:55:14
Это подобие гетеров?

LighteR
21.03.2019
09:55:16
но нужен mypy в проекте)

Worlak
21.03.2019
09:55:31
Final?
Не

LighteR
21.03.2019
09:59:31
но нужен mypy в проекте)
ну typing_extensions это experemental, т.ч. немного стремно его использовать

punkgendos
21.03.2019
10:00:28
извиняюсь за оффтоп, просто не знаю, где ещё спросить, с Facebook API кому-нибудь доводилось работать?

Roman
21.03.2019
10:00:41
Я пишу библиотеку для фильтрации мата: https://github.com/rominf/profanity-filter Я кеширую цензурированные слова. Решил добавить новую возможность - получение слова, из-за которого слово было зацензурировано (например: sh1t -> `shit`). Чтобы сделать красиво, решил использовать dataclasses: @dataclass(frozen=True) class CensoredWord: word: str censored: str original_profane_word: str Можно сделать словарь из слова, на которое сработал фильтр, на CensoredWord. Но я тут подумал: может быть есть решение, которое позволит сделать что-то вроде: censored_words = DataclassesCollection(CensoredWord, indexes=['word', 'original_profane_word']) censored_words.search(word='sh1t') # [CensoredWord(word='sh1t', censored='****', original_profane_word='shit')] censored_words.search(original_profane_word='shit') # [CensoredWord(word='sh1t', censored='****', original_profane_word='shit')] Вообще, эта штука ещё может уметь делать MongoDB-style запросы, но мне это не надо. Я погуглил, но ничего такого не нашёл. Я плохо искал или такая штука никому не нужна?

Tishka17
21.03.2019
10:04:09
Я пишу библиотеку для фильтрации мата: https://github.com/rominf/profanity-filter Я кеширую цензурированные слова. Решил добавить новую возможность - получение слова, из-за которого слово было зацензурировано (например: sh1t -> `shit`). Чтобы сделать красиво, решил использовать dataclasses: @dataclass(frozen=True) class CensoredWord: word: str censored: str original_profane_word: str Можно сделать словарь из слова, на которое сработал фильтр, на CensoredWord. Но я тут подумал: может быть есть решение, которое позволит сделать что-то вроде: censored_words = DataclassesCollection(CensoredWord, indexes=['word', 'original_profane_word']) censored_words.search(word='sh1t') # [CensoredWord(word='sh1t', censored='****', original_profane_word='shit')] censored_words.search(original_profane_word='shit') # [CensoredWord(word='sh1t', censored='****', original_profane_word='shit')] Вообще, эта штука ещё может уметь делать MongoDB-style запросы, но мне это не надо. Я погуглил, но ничего такого не нашёл. Я плохо искал или такая штука никому не нужна?
эм, что значит idnexes?

b-tree индекс?

Google
Tishka17
21.03.2019
10:04:27
или просто по чему можно искать?

censored_words: List[CensoredWord]=[] shit = [w for w in censored_words if w.word==“sh1t”]

Roman
21.03.2019
10:05:42
Ну какой-нибудь быстрый индекс. Наверное, да b-tree. Если оно будет линейно проходить и сопоставлять - это нафиг не нужно.

Медленно!

Tishka17
21.03.2019
10:05:55
а, если реалньо индекс - хз

пандас?

хз что он умеет

Roman
21.03.2019
10:06:58
Я хочу, чтобы мою либу использовали в том числе и на серверах, месяцами не выключая, на больший объёмах данных. И чтобы быстро было.

Вот что нашёл: https://www.reddit.com/r/Python/comments/9eijrd/is_there_an_object_relational_manager_that_uses/ Пишут: "too new"

А если не для dataclasses, а просто для классов? Может есть, а для dataclasses просто адаптировать?

Александр
21.03.2019
10:09:26
Захожу в чат, а тут снова про датаклассы, найс

Roman
21.03.2019
10:10:46
Ну так они же крутые! Я рад, что доставил тебе удовольствие)

Александр
21.03.2019
10:11:08
Да кто спорит

Roman
21.03.2019
10:16:20
Нашёл TinyDB, но она со словарями работает.

GTR Network
21.03.2019
10:17:12
Всем здравствуйте! Подскажите какие библиотеки вы использует для работы с MySQL на python 3+

Roman
21.03.2019
10:18:30
датаклассы - обычные классы
Не совсем обычные. Я имел ввиду, что если я бы нашёл штуку типа ORM для in-memory DBMS, то там могли бы быть специальные классы, от которых надо было бы наследоваться, чтобы делать объекты, которые надо было бы запихивать в БД. Тогда сходу бы с чистыми dataclasses не заработало бы.

Roman
21.03.2019
10:20:53
Даже не знаю, может быть для прикола и запилить? Ну и прокачаюсь заодно в создании DBMS. Я примерно представляю, что надо делать, но может у кого-нибудь есть ссылка про создание in-memory NoSQL DBMS в Python? Ну или более общее что-нибудь...

Google
Roman
21.03.2019
10:24:42
Нда. По слову index в исходниках TinyDB ничего нормального не находится. Такое ощущение, что их там нет. И ещё главное такая популярная.

Tishka17
21.03.2019
10:26:35
я подозреваю, что у твоей штуки очень узкое применение

Roman
21.03.2019
10:26:40
Или вот: https://pydblite.readthedocs.io/en/latest/benchmarks.html С индексами скорость хуже, чем без них. Ну что за хрень.

Tishka17
21.03.2019
10:26:46
обычно все таки базы внешние же

чтобы много приложений могло ходить туда

Дарья Сорокина
21.03.2019
10:27:45
ребята, мы работаем очень корректно и не тратим ваше время, если вам предложение не подходит) как правило, все, с кем мне приходилось общаться, называют свои ожидания без стеснения с учетом реальных знаний.

Дарья Сорокина
21.03.2019
10:29:23
у чата есть правила
Не спорю) я даже не пытаюсь) но если нет действительно з/п вилки, а вакансия есть, как быть в таком случае? Если ребятам нужна работа и возможно это им будет интересно, как быть?

Roman
21.03.2019
10:30:09
чтобы много приложений могло ходить туда
Когда много приложений ходят в одну БД - это антипаттерн. Внешняя БД обычно нужна для того, чтобы распределить нагрузку.

Дарья Сорокина
21.03.2019
10:30:46
Окей) сейчас что-нибудь придумаю, чтоб не нарушать ваши правила)

Tishka17
21.03.2019
10:31:06
например, мои ожидания 230 минимум, а лучше 250. Осилите?

Roman
21.03.2019
10:31:27
Tishka17
21.03.2019
10:31:53
есть друг, который 300к получает

так что оценивайте

Artur Rakhmatulin
21.03.2019
10:34:26
LighteR
21.03.2019
10:36:45
это он чо делает?
ну не сказать, что это прям запредельно высокая з/п. 250к для python-senior'а по-моему, не редкость. Но 300к это уже чуть выше рынка, да

Google
wicker
21.03.2019
10:38:10
дефолт-сити сразу +50% к зп

Tishka17
21.03.2019
10:38:26
Roman
21.03.2019
10:40:37
Я сейчас подумал, что может быть реально не имеет смысла писать очередную DBMS. Может быть имеет смысл написать клиент MongoDB, который с dataclasses на стороне клиента работает? Я понимаю, что смысл в NoSQL - что схемы нет, а когда я заменяю JSON dataclasses, то я ввожу ограничения. Но нормальные NoSQL БД всё же не хранят всё подряд. Скруктура данных более-менее одинаковая, по крайней мере в одной коллекции. С dataclasses, Optional, Union этого можно достичь. Как вам идея?

Roman
21.03.2019
10:41:58
ну датакласс в json не проблема преобразовать
И обратно. Ну да. Но такого нет, а с dict-ами не так прикольно работать.

Страница 8443 из 9768