Size: a a a

2021 November 29

НЧ

Никита Чурнусов... in Python
Люди молодые, имеется следующая проблема: rest_framework_simplejwt module not found. Захожу в питон, импортирую библиотеку извне проекта джанго - ошибки не выдает
источник

M

MK in Python
Sorry, если вопрос не подходит
Задача уже решена, но интересно, почему этот код не сработал
# объявление функции
def is_password_good(password):
   if len(password) < 8:
       return False
   num, upr, low = 0, 0, 0
   for c in password:
       if c.isdigit():
           num += 1
       elif c.isupper():
           upr += 1
       elif c.islower():
           low += 1
   if num > 0 and upr > 0 and low > 0:
       return True

# считываем данные
txt = input()

# вызываем функцию
print(is_password_good(txt))

https://stepik.org/lesson/334150/step/5/?from_mobile_app=true
источник

T

TEH3OP in Python
Приветствую, господ офицеров.
Разрабатываю я пакет. Пока всё в одном файле. Но хочу в разные раскидать всё.

Конкретно есть две цепочки  наследования все они для экспорта, а также класс и кучка внутренних функций утилитарного назначения, и есть ещё глобальная переменная тоже на экспорт.
Ну вот я хочу сделать:
*  два модуля с экспортируемыми классами и переменной: export1, export2
*  модуль с внутренними функциями и внутренним классом.  internals

Но у меня почти везде в параметрах экспортируемые классы. Т.е. мне получается в export1 надо делать import export2, internals; и, чтоб аннотации работали, в export2`и в `internals делать import export1 . Т.е. что-то дофига перекрестных импортов, и как-то это выглядит нехорошо.

Или может сделать типа модуля абстрактных базовых классов? но тут как-то усложнять придётся: поддерживать ещё один модуль, ещё пачку классов.

Или нормально всё в одном держать?
источник

ММ

Максим Мартынов... in Python
поставить пакет jupyter, запустить jupyter notebook, перейти в браузере по ссылке из лога и открыть в интерфейсе файл блокнота
источник

ММ

Максим Мартынов... in Python
либо в VS Code есть поддержка ноутбуков, просто открываешь файл и выполняешь нужные ячейки
источник

AC

All Cats in Python
Можно выделить базовые классы и писать их в тайпхинт
источник

АГ

Антон Грущак... in Python
у тебя нет return False в конце, если ни один if/elif не сработает, возвращается None.
источник

M

MK in Python
Спасибо. И ещё: есть ли в данной задаче разница между if и elif?
источник

АГ

Антон Грущак... in Python
да, если ты в if делаешь return, то elif  не надо, только if
источник

WC

Working Horse Close ... in Python
В каком смысле? И я бы написал так, к слову:

def is_good(pwd: str) -> bool:
   return len(pwd) > 8 and all(any(meth(c) for c in pwd) for meth in (str.isupper, str.islower, str.isdigit))

Пишу с телефона и протестировать не могу, но вот еще один вариант исполнения. Должен быть самым быстрым
источник

АГ

Антон Грущак... in Python
не пугай новичков длинными ретурнами
источник

WC

Working Horse Close ... in Python
Мне не видно, он длиннее 80 символов?
Тут должны генераторы пугать, которые с бодуна и не разглядеть
источник

АГ

Антон Грущак... in Python
ну и это тоже, comprehension такой и в трезвую не поймешь
источник

WC

Working Horse Close ... in Python
Это он еще не сложный. В ФП таким людям дорога заказана
источник

АГ

Антон Грущак... in Python
не люблю когда в проектах их юзают потому что могут (или только выучили), и похуй на будущую читаемость. как будто соревнования на минимум строк
источник

S

SeanWoo in Python
Бан через 3...
источник

T

TEH3OP in Python
А как с переменой глобальной быть? Её тоже в модуль с базовыми классами вынести и везде этот модуль заимпортить?
И это ничего что в __init__.py  будет import bases (базовых классов и переменной), потом export1, export2 а потом в export1, export2  будет тот же import bases ?
Это просто первый прям пакет, который прям в пипе, я хочу как-то по феншуе.
источник

KK

Kirill (Cykooz) Kuzm... in Python
Если у тебя реально всё-на-всё завязано, то скорее всего у тебя что-то не то с распределением ответственности по классам и функциям. В идеале лучше стремиться к иерархическим зависимостям, а не перекрёстным.
источник

А

Альтрон in Python
Ребята а из за длинного кода программа может неверно работать?
источник

KK

Kirill (Cykooz) Kuzm... in Python
А глобальные ПЕРЕМЕННЫЕ лучше совсем избегать. Это считается посути антипатерном для библиотек. Для готовых приложений ещё можно найти доводы за их использование, но в разделяемых библиотеках - нет почти ни одного.
источник