uz
Feedback
Python академия

Python академия

Kanalga Telegram’da o‘tish

Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter

Ko'proq ko'rsatish
7 287
Obunachilar
-424 soatlar
-27 kunlar
-4230 kunlar
Postlar arxiv

Геттеры и сеттеры В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с
Геттеры и сеттеры В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция { get; set; }. В Python геттер реализуется через декоратор @property, а сеттер в виде @свойство.setter. В примере метод геттера называется age, поэтому декоратор сеттера – @age.setter. Оба метода должны иметь одинаковое название, по которому можно будет обращаться как к обычному атрибуту. Подписывайтесь на канал 👉@pythonofff

Наследование Наследование позволяет создавать новый класс на основе уже существующего. Таким образом, можно создать новый кла
Наследование Наследование позволяет создавать новый класс на основе уже существующего. Таким образом, можно создать новый класс, взяв за основу все методы и атрибуты другого. В данном случае класс Person является родительским классом, также его называют базовым классом или суперклассом. А класс Employee называется дочерним классом или подклассом. Наследование классов нужно для изменения поведения конкретного класса, а также для расширения его функционала. Подписывайтесь на канал 👉@pythonofff

Статические методы Отличие статического метода от обычного метода класса в том, что первый привязан к классу, а не объекту. Т
Статические методы Отличие статического метода от обычного метода класса в том, что первый привязан к классу, а не объекту. Такой тип методов по умолчанию не принимает ни объект, ни класс – прописывать self или cls в аргументах не нужно. То есть статические методы не могут модифицировать ни объект, ни сам класс. Обычную функцию стоит вносить в класс в качестве статического метода в том случае, когда эта функция логически относится к классу и имеет смысл там быть. Подписывайтесь на канал 👉@pythonofff

Assert Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но если
Assert Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError. Исключения AssertionError предназначены скорее для программистов. При написании программ на этапе разработки мы должны видеть, что делаем что-то не так (к примеру, передали в функцию некорректное значение). Не нужно, например, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try except. Если таких мест будет очень много, то это затронет и производительность программы. Подписывайтесь на канал 👉@pythonofff

Изучить основы Python за 14 дней? За 990 рублей? Это реально! Подключайтесь к нашему подготовительному курсу по Python-разраб
Изучить основы Python за 14 дней? За 990 рублей? Это реально! Подключайтесь к нашему подготовительному курсу по Python-разработке! Не важно, сколько вам лет, какое у вас образование и кем вы работаете сейчас. Для начала обучения не нужен опыт в разработке! Даём только мясную и прикладную информацию. Никакой воды и траты вашего времени. Всего за 2 недели вы изучите основы языка под руководством опытного наставника, пройдете 69 урока с практикой в браузере и напишите свою первую программу. Торопитесь. Стартуем 14 сентября!

Композиция классов Один из способов организации взаимодействия между классами – это композиция, или же ассоциация, классов. В
Композиция классов Один из способов организации взаимодействия между классами – это композиция, или же ассоциация, классов. В этом случае один из классов (в примере выше это Salary) является полем другого (Employee). Сложного здесь, как вы видите, ничего нет. Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора. В таком случае необходимо использовать слабые ссылки из модуля weakref, о котором поговорим позже. Подписывайтесь на канал 👉@pythonofff

Анонимные функции Анонимные функции являются крайне полезным аспектом, которым либо пренебрегают, либо чрезмерно пользуются.
Анонимные функции Анонимные функции являются крайне полезным аспектом, которым либо пренебрегают, либо чрезмерно пользуются. Новичкам они могут показаться сложными, но это совсем не так. В целом, структура очень простая – lambda <arguments>: <expression> . Сначала пишете ключевое слово lambda, далее аргументы, двоеточие и какое-то выражение, результат которого автоматически вернется. Такие функции чаще всего используются, когда они больше нигде не понадобятся, то есть определять полноценную функцию нет смысла. Типичные примеры использования – map и filter. Подписывайтесь на канал 👉@pythonofff

Priming В предыдущем примере была строчка кода, в которой мы отправили значение None в только что созданную корутину перед её
Priming В предыдущем примере была строчка кода, в которой мы отправили значение None в только что созданную корутину перед её использованием. Такое действие называется priming корутины (на русский сложно адекватно перевести). В случае, если не выполнить эту операцию, возникнет исключение TypeError. Priming корутины может быть выполнен либо путем передачи None (на что и намекает сообщение ошибки), либо просто вызовом функции next с передачей корутины. И эта операция должна быть выполнена обязательно ровно один раз в самом начале. Подписывайтесь на канал 👉@pythonofff

Корутины (Coroutines) В PEP 342 были представлены корутины, которые стали некой противоположностью генераторов. Для примера н
Корутины (Coroutines) В PEP 342 были представлены корутины, которые стали некой противоположностью генераторов. Для примера напишем функцию, которая будет в бесконечном цикле подставлять значение и выводить строку. Обратите внимание на то, как было использовано ключевое слово yield. При таком написании создаётся корутина, а не генератор, что позволяет не просто генерировать значения, но и принимать их. Функция работает так: при отправке значения через метод send локальная переменная name принимает его, а далее значение подставляется в строку и выводится на экран. Подписывайтесь на канал 👉@pythonofff

Генераторы В этом посте освежим знания про генераторы, чтобы далее разобрать такую интересную тему, как корутины. Функции-ген
Генераторы В этом посте освежим знания про генераторы, чтобы далее разобрать такую интересную тему, как корутины. Функции-генераторы выглядят как и обычные, но содержат выражения с ключевым словом yield для последовательного генерирования значений. В целом, генератор – это особый, более изящный случай итератора. Вызов подобной функции вернёт не значение, а объект генератора. Далее из этого объекта можно получать значения, например, с помощью функции next или циклом for. Если генератору больше нечего возвращать, то будет вызвано исключение StopIteration. Подписывайтесь на канал 👉@pythonofff

Оператор pass В ходе исполнения данного оператора ничего не происходит, поэтому он может использоваться в качестве некой заглушки в тех местах, где это синтаксически необходимо. Например, вам надо сделать несколько функций, вы написали def'ы и названия, но сам код еще не успели, однако программу надо запустить и проверить что-то другое. Вот тут и понадобится pass. Или в конструкции try-except, чтобы просто проигнорировать и никак не обрабатывать ошибку в программе. Подписывайтесь на канал 👉@pythonofff

Нижнее подчеркивание В Python имя переменной может состоять из одного подчеркивания: _. Хотя обычно такие имена не достаточно
Нижнее подчеркивание В Python имя переменной может состоять из одного подчеркивания: _. Хотя обычно такие имена не достаточно описательны и не должны использоваться, есть по крайней мере три случая, когда _ имеет общепринятый смысл. Во-первых, _ используется, когда вам нужно придумать имена для значений, которые вам не нужны – например, в циклах for. Во-вторых, интерактивный режим использует _ для хранения результата последнего выполненного выражения. В-третьих, руководство модуля gettext рекомендует псевдоним его функции gettext() для _(), чтобы минимизировать загромождение вашего кода. Подписывайтесь на канал 👉@pythonofff

Функция itertools.cycle В пайтон есть классный модуль itertools для создания собственных итераторов. Функции данного модуля д
Функция itertools.cycle В пайтон есть классный модуль itertools для создания собственных итераторов. Функции данного модуля довольно эффективны в работе, поэтому их часто используют в реальных проектах. Сегодня мы бы хотели показать вам функцию cycle() из itertools. Данная функция принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта. Фишка заключается в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элементы. К примеру, функция cycle() из последовательности ['red', 'white', 'blue'] генерирует повторяющуюся бесконечную. Но важно при проходе при итерации по такому итератору предусмотреть выход из цикла (а не как у нас в первом случае с colors:). Так как это итератор, то мы можем использовать его для получения значений через функцию next(colors). Мы также можем воспользоваться islice(), который вернет итератор по подмножеству переданного объекта. Подписывайтесь на канал 👉@pythonofff

Подборка каналов для IT специалистов 🎯 https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С https://t.me/kotlin_lib Подборки полезного материала по Kotlin https://t.me/nodejs_lib Подборки по Node js и все что с ним связано https://t.me/React_lib Подборки по React js и все что с ним связано https://t.me/ruby_lib Библиотека Ruby программиста https://t.me/frontend_sovet Frontend советы, примеры и практика! https://t.me/java_geek Учим Java на примерах Программирование C++📌 https://t.me/cpp_lib Библиотека C/C++ разработчика https://t.me/cpp_knigi Книги для программистов C/C++ Программирование Python 📌 https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍 https://t.me/BookPython Библиотека Python разработчика https://t.me/python_real Python подборки на русском и английском https://t.me/python_360 Книги по Python Rus Java разработка 📌 https://t.me/BookJava Библиотека Java разработчика https://t.me/java_360 Книги по Java Rus GitHub Сообщество 📌 https://t.me/Githublib Интересное из GitHub CodePen 📌 https://t.me/codepen_1 Сообщество пользователей CodePen Базы данных (Data Base) 📌 https://t.me/database_info Все про базы данных Мобильная разработка: iOS, Android 📌 https://t.me/developer_mobila Мобильная разработка Фронтенд разработка 📌 https://t.me/frontend_1 Подборки для frontend разработчиков Разработка игр 📌 https://t.me/game_devv Все о разработке игр Вакансии 📌 https://t.me/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT Чат программистов📌 https://t.me/developers_ru Библиотеки 📌 https://t.me/book_for_dev Книги для программистов Rus https://t.me/programmist_of Книги по программированию https://t.me/proglb Библиотека программиста https://t.me/bfbook Книги для программистов БигДата, машинное обучение 📌 https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning Программирование 📌 https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций https://t.me/coddy_academy Полезные советы по программированию QA, тестирование 📌 https://t.me/testlab_qa Библиотека тестировщика Шутки программистов 📌 https://t.me/itumor Шутки программистов Защита, взлом, безопасность 📌 https://t.me/thehaking Канал о кибербезопасности Книги, статьи для дизайнеров 📌 https://t.me/ux_web Статьи, книги для дизайнеров https://t.me/arhitekturamira World Architecture Системное администрирование 📌 https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало) https://t.me/sysadminof Книги для админов, полезные материалы https://t.me/i_odmin Все для системного администратора https://t.me/i_odmin_book Библиотека Системного Администратора https://t.me/i_odmin_chat Чат системных администраторов https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др. https://t.me/sysadminoff Новости Линукс Linux Английский 📌 https://t.me/UchuEnglish Английский с нуля Математика 📌 https://t.me/Pomatematike Канал по математике Арбитраж трафика 📌 https://t.me/partnerochkin CPA и арбитраж трафика Крипта 📌 https://t.me/bitkoinoff Новости криптовалют Метавселенная, GameFi, Crypto 📌 https://t.me/metaverse360 DeepFake 📌 https://t.me/deepfakenow Публикуем deepfake видео Мир технологий 📌 https://t.me/mir_teh Видео из мира технологий Excel лайфхак📌 https://t.me/Excel_lifehack

Сравнение строк другими операторами Для сравнения строк в Python используются не только == и !=. Как и при сравнении чисел, м
Сравнение строк другими операторами Для сравнения строк в Python используются не только == и !=. Как и при сравнении чисел, мы можем использовать операторы <, >, <= и >=. Мы присваиваем значение «chinese» для string и «china» для string1. Теперь сравним эти две строки с помощью операторов сравнения <, >, <=, >=. После сравнения string и string1 оператором < мы получаем False. Первые четыре символа «chinese» и «china» идентичны. Однако пятый символ переменной string – «е», в то время как пятый символ string1 – «а». Значение «e» в Юникоде равно 101, а «a» – 97. Таким образом, в результате сравнения этих переменных «chinese» оказывается больше, чем «china». Подписывайтесь на канал 👉@pythonofff

​​Находим соответствия в строках В стандартной библиотеке Python существует модуль difflib, в котором есть интересный метод g
​​Находим соответствия в строках В стандартной библиотеке Python существует модуль difflib, в котором есть интересный метод get_close_matches. Он позволяет найти в списке строки, похожие на некую исходную. Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент – список, в котором выполняется поиск. Также в метод можно передать необязательный аргумент n, который задаёт максимальное число возвращаемых совпадений. Подписывайтесь на канал 👉@pythonofff

__new__ и __init__ new используется, когда нужно определить кортежи dict или base перед созданием класса. Возвращаемое значен
__new__ и __init__ new используется, когда нужно определить кортежи dict или base перед созданием класса. Возвращаемое значение new обычно является экземпляром cls. new позволяет подклассам неизменяемых типов настраивать создание экземпляров. Его можно переопределить в пользовательских метаклассах, чтобы настроить создание класса. init обычно вызывается после создания объекта для его инициализации. Подписывайтесь на канал 👉@pythonofff

Смягчение грамматических ограничений декораторов Ещё один приятный момент из недавнего обновления связан с декораторами. В це
Смягчение грамматических ограничений декораторов Ещё один приятный момент из недавнего обновления связан с декораторами. В целом, нового здесь немного, но появилась возможность слегка упросить код. Изменение позволило заметно улучшить читаемость кода на PyQt5 и упростить сопровождение данного модуля. Подписывайтесь на канал 👉@pythonofff

Проектирование Singleton с использованием метакласса Данный шаблон проектирования ограничивает создание экземпляра класса тол
Проектирование Singleton с использованием метакласса Данный шаблон проектирования ограничивает создание экземпляра класса только одним объектом. Это может оказаться полезным, например, при разработке класса для подключения к базе данных. Возможно, вы захотите иметь только один экземпляр класса соединения. Подписывайтесь на канал 👉@pythonofff

Python академия - Telegram kanali @pythonofff statistikasi va tahlili