Python School
82.3K subscribers
2.41K photos
8 videos
572 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
加入频道
Хотите изменить жизнь и приобрести новую высокооплачиваемую профессию?

Специально для вас мы разработали бесплатный курс, посвящённый IT-специальностям.

Вы узнаете:

– чем занимаются фронтэнд-разработчики;
– кто обеспечивает безопасность данных и приложений;
– зачем проводить ручное и автоматические тестирование ПО;
– как создаются мобильные приложения для iOS и Android;
– кто такой дата-сайентист и как им стать, где применяются алгоритмы машинного обучения и чем они полезны в бизнесе — и это ещё не всё!

Вы сможете попробовать себя в самых популярных профессиях, выполнив задания к каждому из восьми модулей. А в конце программы вы пройдёте небольшой тест на профориентацию. По его результатам мы подберём для вас наиболее подходящее направление и подскажем, какая профессия станет идеальным стартом для вашей IT-карьеры.

Майские скидки до 60% по промокоду «Python School» по ссылке https://epic.st/epcvpM
Строки и обратная косая черта (ч.1)

В обычной строке python обратная косая черта используется для экранирования символов, которые могут иметь особое значение (например, одинарная кавычка, двойная кавычка и сама обратная косая черта).
Строки и обратная косая черта (ч.2)

В необработанном строковом литерале (на что указывает префикс r) обратная косая черта передается как есть вместе с поведением экранирования следующего символа.

Это означает, что когда анализатор обнаруживает обратную косую черту в необработанной строке, он ожидает, что за ней последует другой символ. И в нашем случае (print(r"\")) обратная косая черта экранировала завершающую кавычку, оставляя анализатор без завершающей кавычки (отсюда SyntaxError). Вот почему обратная косая черта не работает в конце необработанной строки.
Совет для всех: займитесь бизнесом

Целое поколение молодых людей без дипломов и трудовых уже зарабатывают на собственном деле — они не боятся рисковать и лучше будут перебиваться мелочью, чем вернутся в офис или на завод.

Для этого не нужны миллионы или особые знания. Достаточно просто взять готовую идею, адаптировать ее и снять деньги.

〰️ А чтобы не гуглить, не читать древние форумы и быть в курсе всего, что сейчас в тренде — подписывайтесь на канал «О бизнесе».

Там найдете бизнес-идеи, которые работают в 2023 году, важные тематические новости, гайд, куда вкладывать деньги, чтобы они работали.

Короче, подписывайтесь и изучайте, потом сами себе спасибо скажете: «О бизнесе»
Не узел!

Приоритет оператора влияет на то, как вычисляется выражение, и == operator имеет более высокий приоритет, чем not operator в Python.

Таким образом, not x == y эквивалентноnot (x == y), что эквивалентно not (True == False) окончательной оценке True.

Но x == not y вызывает SyntaxError вопрос, потому что его можно считать эквивалентным, (x == not) y а не x == (not y) тем, что вы могли ожидать на первый взгляд.

Анализатор ожидал, что not токен будет частью not in оператора (потому что оба оператора == и not in имеют одинаковый приоритет), но после того, как не смог найти in токен, следующий за not токеном, он выдает SyntaxError.
Ты разработчик, который только учиться или уже хорошо владеет Python? Хочешь развиваться среди единомышленников и работать на интересных проектах? 

Подписывайся на канал Лиги Цифровой Экономики, каждую неделю мы публикуем самые актуальные вакансии и стажировки в сфере ИТ.

https://yangx.top/digitalleague
Половина строк в тройных кавычках

Python поддерживает неявную конкатенацию строковых литералов.

''' и """ также являются разделителями строк в Python, которые вызывают ошибку SyntaxError, потому что интерпретатор Python ожидал, что в качестве разделителя будет заключена тройная кавычка при сканировании текущего строкового литерала в тройных кавычках.
💳 Друзья, Тинькофф выпустил карту с самым топовым дизайном, созданным нейросетью. Дебетовая карта Тинькофф Black в стиле карты-мультипаспорта.

Заказать карту можно по специальной ссылке, в открытом доступе ее нет. Кроме того, по карте доступны:
— До 15% кэшбэка в 4 категориях на выбор
— До 30% кэшбэка у партнеров
— Переводы и снятие наличных без комиссии
— 12 стикеров для смены аватара
— 3 дизайна карты на выбор

👽 Количество карт в данной коллекции лимитировано. Если вам понравился дизайн, то оформляйте карту сейчас. Позже их может уже не быть — оформить карту.
Что не так с логическими значениями? (ч.1)

Изначально в Python не было bool типа (люди использовали 0 для false и ненулевое значение, такое как 1 для true). True, False и bool тип был добавлен в версиях 2.x, но для обратной совместимости True и False нельзя было сделать константами. Они просто были встроенными переменными, и их можно было переназначить.
Что не так с логическими значениями? (ч.2)

bool является подклассом int в Python. И, таким образом, True и False являются экземплярами int. Целочисленное значение True равно 1, а значение из False равно 0.
Что не так с логическими значениями? (ч.3)

Python 3 был обратно несовместим, проблема была наконец исправлена, и, таким образом, последний фрагмент не будет работать с Python 3.x!
Атрибуты класса и атрибуты экземпляра (ч.1)

Переменные класса и переменные в экземплярах класса внутренне обрабатываются как словари объекта класса. Если имя переменной не найдено в словаре текущего класса, выполняется поиск по нему в родительских классах.
Эти ребята объединили ChatGPT и Midjourney в бесплатного телеграм-бота!

Теперь вам не нужен VPN, платная подписка и кучу времени на ожидание. Этот бот сгенерирует всё за 30 секунд. Цензуры в боте также нет.

Пиши код, учи английский, делай логотипы — в одно мгновение и без ограничений. Бот в закрепе: https://yangx.top/+rK7fmbDZxC0zYmQ0
Атрибуты класса и атрибуты экземпляра (ч.1)

Переменные класса и переменные в экземплярах класса внутренне обрабатываются как словари объекта класса. Если имя переменной не найдено в словаре текущего класса, выполняется поиск по нему в родительских классах.
Python-разработчики — одни из самых востребованных IT-специалистов на рынке. Они создают веб-приложения и чат-ботов, автоматизируют процессы. По данным HeadHunter, больше 8 000 компаний ищут специалистов разных уровней.

Зарегистрируйтесь на буткемп прямо сейчас и получите гайд по профессии. Из него узнаете, где используют Python, почему это идеальный язык для новичка и что думают о Python опытные разработчики. Подробная программа: https://epic.st/DHr--9

Что особенного в буткемпе по Python:
— Подходит новичкам — от вас не требуется знаний и опыта в IT.
— 4 крутых проекта для портфолио.
— Практические задания для проверки знаний.
— Живое общение со спикером.
— 5 полезных материалов в подарок.
— Бессрочный доступ к видео.

Спикер — Анастасия Борнева, руководитель направления по исследованию данных в Сбере. Опыт в программировании более 12 лет. С 2018 года — эксперт по автоматизации процессов с помощью искусственного интеллекта в Сбере.

Успейте записаться и получить подарок!
Атрибуты класса и атрибуты экземпляра (ч.2)

+= Оператор изменяет изменяемый объект на месте, не создавая новый объект. Таким образом, изменение атрибута одного экземпляра влияет на другие экземпляры, а также на атрибут class.
Нет результата

Это ошибка в обработке CPython yield в генераторах и пониманиях.

Источник и объяснение можно найти здесь: https://stackoverflow.com/questions/32139885/yield-in-list-comprehensions-and-generator-expressions

Сообщение об ошибке по теме:https://bugs.python.org/issue10544

Python 3.8+ больше не допускает yield понимания внутри списка и выдает SyntaxError.
Уступая от ... return! (ч.1)

Куда "wtf" делся? Это из-за какого-то особого эффекта yield from?

Начиная с Python 3.3, стало возможным использовать return инструкцию со значениями внутри генераторов (см. PEP380). В официальных документах говорится, что,
"... return expr в генераторе возникают причины StopIteration(expr), которые возникают при выходе из генератора".
Уступая от ... return! (ч.2)

В случае с some_func(3), StopIteration возникает в начале из-за return заявления. StopIteration Исключение автоматически перехватывается внутри list(...) оболочки и for цикла. Следовательно, два приведенных выше фрагмента приводят к пустому списку.

Чтобы получить ["wtf"] от генератора some_func, нам нужно перехватить StopIteration исключение,
Nan-рефлексивность (ч.1)

'inf' и 'nan' - это специальные строки (без учета регистра), которые при явном приведении к float типу используются для представления математической "бесконечности" и "не числа" соответственно.

Поскольку, согласно стандартам IEEE NaN != NaN, соблюдение этого правила нарушает предположение о рефлексивности элемента коллекции в Python, т. Е. если x является частью коллекции, подобной list, реализации, подобные comparison, основаны на предположении, что x == x.