Что выведет этот код?
Anonymous Quiz
19%
{'none': 'text', []: 'flags'}
17%
{'text': 'none', 'flags': []}
8%
{'text': [], 'flags': 'none'}
42%
Ошибку
13%
Узнать ответ
⚡️ Пишем своё веб-приложение
Pyramid — фреймворк, который позволяет позволяет создавать свои веб-приложения. Чем же он отличается от других фреймворков?
Установка:
На самом деле у модуля довольно много фич, о которых можно почитать на хорошо оформленном оф. сайте. Также не забывайте про документацию.
#миниурок #pyramid
Pyramid — фреймворк, который позволяет позволяет создавать свои веб-приложения. Чем же он отличается от других фреймворков?
Установка:
pip install pyramid
Он строится на концепции, что каждый проект должен начинаться с малого и легко расширяться. Чтобы приложение было просто довести до конца.На самом деле у модуля довольно много фич, о которых можно почитать на хорошо оформленном оф. сайте. Также не забывайте про документацию.
#миниурок #pyramid
Что выведет код выше?
Anonymous Quiz
33%
True True
19%
True False
26%
False True
14%
False False
8%
Узнать ответ
Принцип DRY
Don't repeat yourself («не повторяйся») — этот принцип означает, что стоит избегать дублирования кода или данных.
Внесение изменений в такой код становится в разы сложнее. Что если вы забыли добавить фичу в другом файле? Этот вопрос не даст вам покоя.
Следование принципу приводит проект к модульной архитектуре с чётким разделением между бизнес-логикой и программными классами.
#принцип #dry
Don't repeat yourself («не повторяйся») — этот принцип означает, что стоит избегать дублирования кода или данных.
Внесение изменений в такой код становится в разы сложнее. Что если вы забыли добавить фичу в другом файле? Этот вопрос не даст вам покоя.
Следование принципу приводит проект к модульной архитектуре с чётким разделением между бизнес-логикой и программными классами.
#принцип #dry
⚡️ Задачка с собеседования | #Medium
Условие:
Дано число n >= 2, и выведите список со всеми положительными целыми числами меньше gcd(n, k) == 1 (то есть, взаимно простые), где k — любое из возможных чисел.
Примеры:
coprimes(3) ➞ [1, 2]
coprimes(10) ➞ [1, 3, 7, 9]
coprimes(20) ➞ [1, 3, 7, 9, 11, 13, 17, 19]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Дано число n >= 2, и выведите список со всеми положительными целыми числами меньше gcd(n, k) == 1 (то есть, взаимно простые), где k — любое из возможных чисел.
Примеры:
coprimes(3) ➞ [1, 2]
coprimes(10) ➞ [1, 3, 7, 9]
coprimes(20) ➞ [1, 3, 7, 9, 11, 13, 17, 19]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Принцип YAGNI
«You Ain't Gonna Need It» или «Вам это не нужно». Это означает, что не стоит добавлять функционал, которого нет в ТЗ и который не нужен заказчику.
Кажется, что новый функционал — хорошо, но любая функция должна оплачиваться. Или из бюджета заказчика или временем исполнителя.
Заказчик не должен платить за то, что ему не надо, а продукт должен быть сопровождаем и его качество не должно страдать от интеграции ненужных функций.
#принцип #yagni
«You Ain't Gonna Need It» или «Вам это не нужно». Это означает, что не стоит добавлять функционал, которого нет в ТЗ и который не нужен заказчику.
Кажется, что новый функционал — хорошо, но любая функция должна оплачиваться. Или из бюджета заказчика или временем исполнителя.
Заказчик не должен платить за то, что ему не надо, а продукт должен быть сопровождаем и его качество не должно страдать от интеграции ненужных функций.
#принцип #yagni
⚡️ Про нижние подчёркивания в названиях переменных
К ней можно получить извне доступ только с помощью
#теория
_name
— переменная используется внутри класса и вам не стоит с ней работать напрямую. Также она не импортируется при from module import *
.name_
— решает проблем с ключевыми словами.__name
(не менее двух начальных символов подчеркивания, не более одного нижнего подчеркивания в конце) — определение «приватной» переменной. К ней можно получить извне доступ только с помощью
_classname__name
. classname — имя класса с удалёнными начальными символами подчёркивания.name — п
росто соглашение Python разработчиков, чтобы имена специальных методов не конфликтовали с именами пользователей.#теория
⚡️ Интересные GitHub проекты
Awesome Python — Набор классных библиотек, фреймворков и инструментов. Есть и более крутая версия 🕶.
Космический Python — книга на английском языке про шаблоны архитектуры приложений на Python.
Algorithms — просто классный модуль с огромным количеством разных структур данных и алгоритмов.
Public APIs — невероятно огромный список доступных API на любой вкус и цвет.
#github
Awesome Python — Набор классных библиотек, фреймворков и инструментов. Есть и более крутая версия 🕶.
Космический Python — книга на английском языке про шаблоны архитектуры приложений на Python.
Algorithms — просто классный модуль с огромным количеством разных структур данных и алгоритмов.
Public APIs — невероятно огромный список доступных API на любой вкус и цвет.
#github
Что выведет код выше?
Anonymous Quiz
9%
2
9%
4
7%
(1, 2)
30%
(1, 2, 1, 2)
40%
Ошибку
6%
Узнать ответ
⚡️ Определяем тип строки
·
·
#миниурок #str
str.isalpha()
возвращает True, если все символы являются частью алфавита (a-z). str.isdecimal()
— проверяет, является ли строка только набором цифр (1-9). В то время как:·
str.isdigit()
вернёт True, даже если строка будет содержать странные цифры (² или \u00B2). ·
str.isnumeric()
вернёт True, даже если это дробь (½ или \u00BD).str.isalnum()
— проверяет, является ли строка набором символов или цифр.#миниурок #str
⚡️ Упрощаем поиск багов
Функция поиска площади квадрата со стороной 5 должна возвращать 25. А если не вернёт? Самый быстрый способ это проверять — использовать assert.
Если оператор получает на первый аргумент False, то выводит AssertionError с текстом из второго аргумента (если таков имеется).
Чтобы убрать проверку, добавьте флаг -O при запуске приложения:
#теория
Функция поиска площади квадрата со стороной 5 должна возвращать 25. А если не вернёт? Самый быстрый способ это проверять — использовать assert.
Если оператор получает на первый аргумент False, то выводит AssertionError с текстом из второго аргумента (если таков имеется).
Чтобы убрать проверку, добавьте флаг -O при запуске приложения:
python3 -O foo.py
. Подробнее в документации.#теория