Regexp
Регепсы (регулярные выражения), это способ представления некоего паттерна, который можно найти в тексте или проверить, что текст ему соответствует.
В питоне есть встроенная библиотека для работы с регулярками:
Регулярные выражения часто бывают очень сложными (например, регулярка для валидации имейлов: https://pdw.ex-parrot.com/Mail-RFC822-Address.html), поэтому очень удобно использовать сайты по типу https://regex101.com/, в которых подробно рассписывается какой точен выражения что делает
Регепсы (регулярные выражения), это способ представления некоего паттерна, который можно найти в тексте или проверить, что текст ему соответствует.
В питоне есть встроенная библиотека для работы с регулярками:
import re
# match(pattern, string). Данная регулярка проверяет, что текст содержит только латинцу
re.match(r'^\w+$', 'vk') is not None # True
re.match(r'^\w+$', 'vk.com') is not None # False
Регулярные выражения часто бывают очень сложными (например, регулярка для валидации имейлов: https://pdw.ex-parrot.com/Mail-RFC822-Address.html), поэтому очень удобно использовать сайты по типу https://regex101.com/, в которых подробно рассписывается какой точен выражения что делает
❤6👍2
Занятий 14 и 16 октября НЕ будет
По техническим причинам* занятий в указанные даты не будет.
Вместо них рекомендуем самостоятельно пройти 5 лекцию: https://github.com/itatmisis/python-course/tree/master/chapter-5. Если не пройдете её, то не переживайте, это скорее полезное дополнение, чем необходимая информация.
Следующее занятие будет 21 октября, понедельник. Скорее всего будет про Docker, Docker-compose и вот это всю страшность
* - лектор впервые за 2 года вышел в отпуск
P.S. следующая лекция будет не про Докер, а про СУБД
По техническим причинам* занятий в указанные даты не будет.
Вместо них рекомендуем самостоятельно пройти 5 лекцию: https://github.com/itatmisis/python-course/tree/master/chapter-5. Если не пройдете её, то не переживайте, это скорее полезное дополнение, чем необходимая информация.
Следующее занятие будет 21 октября, понедельник. Скорее всего будет про Docker, Docker-compose и вот это всю страшность
* - лектор впервые за 2 года вышел в отпуск
P.S. следующая лекция будет не про Докер, а про СУБД
❤15🔥3👌3
Всем привет!
Напоминаю, занятий завтра не будет
Также напоминаю, что в середине ноября мы будем делать проекты.
Проекты будут командные, в команде будет 3+ человек: бекендер, фронтендер, дизайнер. Работа над проектами займет, скорее всего, 3-4 недели и будет разбита на несколько этапов.
Темы для проектов мы почти придумали, но если у вас есть какие-то предложения, то пишите сюда. Темой может быть что угодно: магазин смешных стикеров, сервис генерации QR кодов и тд, но учитывайте, что в его разработке должны принимать участие как бекендеры, так и фронтендеры с дизайнерами.
Напоминаю, занятий завтра не будет
Также напоминаю, что в середине ноября мы будем делать проекты.
Проекты будут командные, в команде будет 3+ человек: бекендер, фронтендер, дизайнер. Работа над проектами займет, скорее всего, 3-4 недели и будет разбита на несколько этапов.
Темы для проектов мы почти придумали, но если у вас есть какие-то предложения, то пишите сюда. Темой может быть что угодно: магазин смешных стикеров, сервис генерации QR кодов и тд, но учитывайте, что в его разработке должны принимать участие как бекендеры, так и фронтендеры с дизайнерами.
❤3
#интересное
Как работают импорты? Чтобы не получать постоянно ошибку "Module not found", давайте разберем процесс поиска модулей со стороны интепретатора питона.
Предположим, мы находим в папке
В ней у нас есть 2 файла
и
Когда мы пишем
Когда мы запускаем питон, интерпретатор находит фразу
- В руте проекта, то есть в папке, из которой запускается код. В данном случае это
> Внимание, если вы куда-то перейдете, переместите файл и тд, то все может сломаться, потому что питон ищет код относительно места запуска интерпретатора, а не относительно файла из которого идет импорт
- В 3-rd party зависимостях
- В встроенных библиотеках
Иными словами, если вы хотите запускать main.py, то вы должны его запускать из папки ~/projects. Аналогичная ситуация с shor-linker, что мы делали на прошлом уроке, для запуска нашего проекта мы должны перейти в
import
Как работают импорты? Чтобы не получать постоянно ошибку "Module not found", давайте разберем процесс поиска модулей со стороны интепретатора питона.
Предположим, мы находим в папке
project
cd ~/project
pwd
> ~/project/
В ней у нас есть 2 файла
add.py
>
def add(a: int, b: int) -> int:
return a + b
и
from add import add
def main():
print(add(1, 2))
if __name__ == "__main__":
main()
Когда мы пишем
python3 main.py
питон корректно подключает модуль add и выводит текст. Почему? Когда мы запускаем питон, интерпретатор находит фразу
from add import add
, по которой ему нужно найти модуль add. Этот модуль он ищем:- В руте проекта, то есть в папке, из которой запускается код. В данном случае это
~/project
. > Внимание, если вы куда-то перейдете, переместите файл и тд, то все может сломаться, потому что питон ищет код относительно места запуска интерпретатора, а не относительно файла из которого идет импорт
- В 3-rd party зависимостях
- В встроенных библиотеках
Иными словами, если вы хотите запускать main.py, то вы должны его запускать из папки ~/projects. Аналогичная ситуация с shor-linker, что мы делали на прошлом уроке, для запуска нашего проекта мы должны перейти в
cd python-cource/chapter-4/project
и оттуда вызвать python3 main.py
❤4
Глава 6 - БД: Что такое БД, какие бывают, когда какие нужны
Завтра, понедельник 21 октября, в 18:00 будет очная лекция про базы данных! Расскажем о том, какие есть и начнем проходить SQL
Приходите!
Завтра, понедельник 21 октября, в 18:00 будет очная лекция про базы данных! Расскажем о том, какие есть и начнем проходить SQL
Приходите!
❤1
Media is too big
VIEW IN TELEGRAM
Запись 6 лекции!
Глава 6 - БД: Что такое БД, какие бывают, когда какие нужны
Текст: https://github.com/itatmisis/python-course/tree/master/chapter-6
Глава 6 - БД: Что такое БД, какие бывают, когда какие нужны
Текст: https://github.com/itatmisis/python-course/tree/master/chapter-6
🔥2
Понравилась лекция?
Anonymous Poll
42%
9%
1%
1%
0%
47%
Напоминаю, что через 5 минут будет лекция онлайн
Глава 7 - БД: SQLAlchemy
Глава 7 - БД: SQLAlchemy
🔥2
Ух е, забыл спросить
Как лекция?
Как лекция?
Anonymous Poll
41%
4%
3%
0%
1%
52%
💸 (мяу)
🔥2
Сегодня, в 18:00 в Б4 будет 8 лекция!
Глава 8 - Deploy: Линукс, Яндекс Клауд и как развернуть наш код на настоящем сервере.
Развернем наш проект на настоящем сервере и сыграем в русскую рулетку с финскими операционными системами
Глава 8 - Deploy: Линукс, Яндекс Клауд и как развернуть наш код на настоящем сервере.
Развернем наш проект на настоящем сервере и сыграем в русскую рулетку с финскими операционными системами
🔥10
Media is too big
VIEW IN TELEGRAM
Глава 8 - Deploy: Линукс, Яндекс Клауд и как развернуть наш код на настоящем сервере.
Текст: https://github.com/itatmisis/python-course/tree/master/chapter-8
Текст: https://github.com/itatmisis/python-course/tree/master/chapter-8
🔥5
Завтра, 30 октября, в среду в 18:00 расскажем про докеры и компоузы, что это такое, зачем это и нужно и как это сокращает время разработки!
(а также будет анонс проектов!)
(а также будет анонс проектов!)
Проекты-проекты-проекты
Начиная с 18 ноября мы таки запускаем проекты!
Командная работа, бекенды-фронтенды-дизайнеры, защиты, тз, бт, мвп и все что вам так нравится!
Подробнее в чате проектов
Обязательно запишитесь в формачке!
Начиная с 18 ноября мы таки запускаем проекты!
Командная работа, бекенды-фронтенды-дизайнеры, защиты, тз, бт, мвп и все что вам так нравится!
Подробнее в чате проектов
Обязательно запишитесь в формачке!
Telegram
ITAM.Courses - Projects
Danila Artamonov invites you to join this group on Telegram.