Size: a a a

2021 June 30

A

Alexander in SPb Python
для начала, зачем вот эти непонятные *args и **kwargs в аттрибутах. Ты же сам пишешь, что передаваться туда будет некий объект.
Если так, то и ожидай там этот объект
def __call__(cls, foo: YourFooClass):

и дальше весь нечитаемый гонокод вытекает из этого. Ты ожидаешь, что твой класс будут вызывать, передавая ему какие-то рандомные аттрибуты. Не надо так
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in SPb Python
Спасибо
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in SPb Python
Спасибо)
источник

VL

Valentin Lupachev in SPb Python
* странный дизайн, синглтон является объектом, который ты инстанциируешь руками (это я к тому что ты используешь call, хотя, вроде бы, в таких случаях используют new). Да и cls здесь на самом деле будет инстансом класса.
* не понимаю зачем отдельно список user_ids, который хранит ключи словаря, ты можешь использовать keys() или оператор in
* в аргументах не заявлено ничего из обязательного, но код упадёт с KeyError если будет вызван без user
* при retain = False мы сначала добавляем в словарь, потом удаляем оттуда. У нас тут и так глобальное потепление, нечего ещё греть воздух
* вместо принтов нужно логгирование
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in SPb Python
Спасибо.

New чуть выше. Там другой класс будет, в котором этот будет метаклассом
источник

SM

Serge Matveenko in SPb Python
Это весьма популярный шаблон в питоне. Если вспомнить, что модуль — это по факту синглтон, то можно просто делать вот так.

# storage.py

db = {}

# my_script.py

from storage import db

db[user.id] = user
print(db[user.id])

если хочется передавать через __call__ то можно свой класс наследовать от dict как-то так

# storage.py

class _DB(dict):
   def __call__(self, user: User) -> None:
       self.update({user.id: user})

db = _DB()

# my_script.py

from storage import db

db(user)
print(db[user.id])
источник

A

Aryn in SPb Python
Переслано от Aryn
Ребят, подскажите пожалуйста логику, как мне сделать, чтобы каждые два элемента со списка сохраняло как отдельный список?
То есть, чтобы из [1, 2, 3, 4] вышло [[1, 2], [3, 4]]
Или, из [1, 2, 3, 4, 5] вышло [[1, 2], [3, 4], [5]
источник

p

pragus in SPb Python
А что будет со списком [ 1, 2, 3 ] ?
источник

A

Aryn in SPb Python
[[1, 2], [3]]
источник

N

Nikita in SPb Python
Если по быренькому

```
new_list = []
for i, e in enumerate(range(21)):
   if i % 2 == 0:
       new_list.append([])
   new_list[-1].append(e)

```

Можешь сам из этого лист компрехеншен слепить)
источник

A

Aryn in SPb Python
Омагад, спасибо!
источник

p

pragus in SPb Python
fn = lambda x: [x[i:i+2] for i in range(0, len(x), 2)]
источник

MK

Maxim Koltsov in SPb Python
Можно просто zip(list, list[1:]), будет список пар
Последний правда съест, но тут можно на zip_longest посмотреть
источник

.

. in SPb Python
есть у кого нибудь русская документация по телеботу, которую можно читать оффлайн?
источник

С

Сергей in SPb Python
Решение для любых списков и количества элементов отдельного списка. Заранее извиняюсь - это мой учебный код.

def chunked(text, chunk):
   text = text.split()
   if len(text) <= chunk:
     res = [text]
   else:
     res = [text[x:x  + chunk] for x in range(0, len(text), chunk)]
   
   print(res)

chunked(input(), int(input()))
источник
2021 July 01

AK

Aleksandr Koshkin in SPb Python
Дринкап в пандемию? Что может пойти не так? =)
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in SPb Python
Спасибо)
источник

AK

Aleksandr Koshkin in SPb Python
Я вакцинировался несколько месяцев назад, титр 300 был тогда, щас же другой штамм ходит и про эффективность против него ничего не известно
источник

AK

Aleksandr Koshkin in SPb Python
Виртуальный дринкап белочкой отдавал бы конечно
источник

DI

Danil Ivanov in SPb Python
И такие были )
источник