14 subscribers
38 photos
3 files
18 links
Download Telegram
#教え
Видео 3/22 01:10 -> 1:30

Задачи

remove в python удаляет только одно вхождение
This media is not supported in your browser
VIEW IN TELEGRAM
#psy

Сколько времени нужно улучшать решение?
Forwarded from Илья
- сколько времени я уже потратил на решение? Есть ли у меня время искать более лучшее решение?
- удовлетворяет ли требованиям производительности (алгоритмическая сложность)?
- какую роль выполняет данное решение в работе всей программы. Как часто будет использоваться? Может и нет смысла улучшать, если это не так востребовано.
- есть ли дублирование кода, которое можно вынести в функции / переменные, при этом не пострадает ли читаемость?
- читаемость кода (сможет ли потом чел после меня без проблем прочитать и понять, что я хотел сделать?)
- можно ли данное решение переиспользовать в будущем (если такая необходимость может возникнуть)? Масштабируемость
Forwarded from Илья
все остальные улучшения как правило либо в ущерб читаемости, либо производительности, либо тупо это не стоит того, тратить на это столько времени
Forwarded from Илья
В общем, провожу всегда оценку по всем этим пунктам у меня в голове (называется - всесторонняя оценка), если критичного нет ничего - то оставляю и двигаюсь дальше. Потому что дальнейшая оптимизация будет уже в ущерб времени, а время - наш самый ценный ресурс )
#教え
Видео 3/22 01:30 -> 2:10

Задачи

join применяется к итерируемой сущности, строка уже является iterable. В py не нужен скачок в список чтобы поместить что либо между буквами
#教え
Видео 3/22 2:10 -> end
Видео 4/22 3:48

Задачи

Императивное
Структурное
Функциональное
ООП

Корни

На скринах пример почему не стоит всецело доверять нейронкам
#error
EOL - end of line

интерпретатор увидел открытую кавычку, ожидая вторую дошёл до конца строки
#教え
Срезы

Первый элемент включён, последний нет

В списке 4 элемента, 0-3 индексы

Но выбирая содержащее последний элемент, нужно указать 4 не существующий индекс, exmpl [2:4]
#教え
Интервал range работает подобно срезу, первый индекс включён, второй уже не входит

for i in range(1,3):
print(i)
#1, 2


Как будто общий паттерн
#教え
Mutable - изменяемый, ordered - упорядоченный
This media is not supported in your browser
VIEW IN TELEGRAM
#教え
lambda функции можно дать имя и использовать как обычную функцию

future_tax = lambda income: income * 0.1
savings = future_tax(10000)
.py pinned a GIF
#教え
Сахар для сетов
#教え
Виртуальное окружение(ВО)

Создать

python -m venv <venv_name>


Активировать (в зависимости от терминала команда меняется)
#cmd
<venv_name>\Scripts\activate

#powershell
. <venv_name>\Scripts\Activate.ps1

#unix or mac_os
source myenv/bin/activate


Деактивировать

deactivate

Получение списка установленных библиотек
#глобально установленные пакеты
pip list


#пакеты внутри активного ВО
pip freeze

#собрать список локально установленных пакетов с версиями
pip freeze >
requirements.txt


Установка виртуального окружения из файла requirements.txt
pip install -r requirements.txt
.

Чтобы установить конкретную версию py для определенного ВО
#нужен доп пакет
pip install virtualenv

python -m virtualenv -p "C:\
Program Files\Python310\python.exe" my_second_env

локально установить/удалить пакет

pip install <package name>


создал через терминал окружение, активировал, все запускается, но чтобы pyCharm видел пакеты внутри ide нужно явно указывать окружение:

settings(смотри хот кеи) ->
add python interpreter->
local interpreter->
existing env->
указать python.exe внутри подготовленного виртуального окружения