Можно разбить строки в список
В этом случае разбиение происходит по символу пробела
Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().
Split также имеет второй параметр, называемый maxsplit, который определяет максимальное количество разбиений. По умолчанию он равен -1 (без ограничений).
Подписывайтесь на канал 👉@pythonofff
В этом случае разбиение происходит по символу пробела
Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().
Split также имеет второй параметр, называемый maxsplit, который определяет максимальное количество разбиений. По умолчанию он равен -1 (без ограничений).
Подписывайтесь на канал 👉@pythonofff
👍8
Возврат нескольких значений
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data)
Подписывайтесь на канал 👉@pythonofff
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data)
Подписывайтесь на канал 👉@pythonofff
👍6
__repr__
Метод repr() позволяет определять строковое представление, предназначенное для программиста и удобное при использовании во время отладки, а метод str() позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.
Подписывайтесь на канал 👉@pythonofff
Метод repr() позволяет определять строковое представление, предназначенное для программиста и удобное при использовании во время отладки, а метод str() позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.
Подписывайтесь на канал 👉@pythonofff
👍4
Генерируем QR-код
Простой, но удобный и полезный пакет для создания QR-кодов. Для отрисовки картинок используется Pillow, так что убедитесь, что он у вас установлен.
Чтобы создать объект картинки с QR-кодом необходимо вызвать метод make() и передать данные в качестве аргумента. А для сохранения нужно применить метод save() к полученному объекту.
Еще пакет позволяет создавать QR-коды на основе картинок и в 6 разных стилях. Но про это все, а также про продвинутые примеры использования вы почитаете уже в их документации.
Подписывайтесь на канал 👉@pythonofff
Простой, но удобный и полезный пакет для создания QR-кодов. Для отрисовки картинок используется Pillow, так что убедитесь, что он у вас установлен.
Чтобы создать объект картинки с QR-кодом необходимо вызвать метод make() и передать данные в качестве аргумента. А для сохранения нужно применить метод save() к полученному объекту.
Еще пакет позволяет создавать QR-коды на основе картинок и в 6 разных стилях. Но про это все, а также про продвинутые примеры использования вы почитаете уже в их документации.
Подписывайтесь на канал 👉@pythonofff
👍8
Генераторы списков очень классная особенность
Ещё одна классная особенность Python, дающая возможность быстро создавать списки. Такие выражения позволяют легко писать чистый код, который читается почти как естественный язык
Подписывайтесь на канал 👉@pythonofff
Ещё одна классная особенность Python, дающая возможность быстро создавать списки. Такие выражения позволяют легко писать чистый код, который читается почти как естественный язык
Подписывайтесь на канал 👉@pythonofff
👍5
Получаем календарь
В модуле calendar есть функция month(), которая вернет календарь указанного месяца в виде строки, как показано в примере. А функция calendar() выдаст целый год.
Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML.
Кстати, модуль является встроенным, отдельно его устанавливать не нужно.
Подписывайтесь на канал 👉@pythonofff
В модуле calendar есть функция month(), которая вернет календарь указанного месяца в виде строки, как показано в примере. А функция calendar() выдаст целый год.
Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML.
Кстати, модуль является встроенным, отдельно его устанавливать не нужно.
Подписывайтесь на канал 👉@pythonofff
👍8🎄1
Веб-парсинг
Вот некоторые популярные библиотеки для парсинга:
• Beautiful Soup
• Scrapy
Пример - получить значение валюты по сравнению с долларом США
Подписывайтесь на канал 👉@pythonofff
Вот некоторые популярные библиотеки для парсинга:
• Beautiful Soup
• Scrapy
Пример - получить значение валюты по сравнению с долларом США
Подписывайтесь на канал 👉@pythonofff
👍4
Как работают арифметические операции
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у float поддерживается деление с остатком, то есть метод __div__. А int имеет только деление с округлением, реализованное в методе __floordiv__.
Подписывайтесь на канал 👉@pythonofff
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у float поддерживается деление с остатком, то есть метод __div__. А int имеет только деление с округлением, реализованное в методе __floordiv__.
Подписывайтесь на канал 👉@pythonofff
👍5
Обмен значений переменных
Обмен значений двух переменных - это действие, в результате которого одна переменная принимает значение, равное второй переменной, а вторая - первой. Если попытаться сделать такой обмен, сначала присвоив первой переменной значение второй, а второй - значение первой, ничего не получится.
Подписывайтесь на канал 👉@pythonofff
Обмен значений двух переменных - это действие, в результате которого одна переменная принимает значение, равное второй переменной, а вторая - первой. Если попытаться сделать такой обмен, сначала присвоив первой переменной значение второй, а второй - значение первой, ничего не получится.
Подписывайтесь на канал 👉@pythonofff
🎉2
Создаем контекстный менеджер с помощью декоратора
Обычно протокол управления контекстом реализовывают с помощью класса и двух магических методов: __enter__ и __exit__. Но такой подход может показаться слегка сложным.
Так вот, помимо написания своего класса, есть еще один способ создать контекстный менеджер — использовать декоратор @contextmanager из встроенного пакета contextlib.
Первая часть функции tag, которая идёт до yield, выполняется при входе в блок with. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть, которая идет после yield.
Подписывайтесь на канал 👉@pythonofff
Обычно протокол управления контекстом реализовывают с помощью класса и двух магических методов: __enter__ и __exit__. Но такой подход может показаться слегка сложным.
Так вот, помимо написания своего класса, есть еще один способ создать контекстный менеджер — использовать декоратор @contextmanager из встроенного пакета contextlib.
Первая часть функции tag, которая идёт до yield, выполняется при входе в блок with. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть, которая идет после yield.
Подписывайтесь на канал 👉@pythonofff
👍7
Неизвестное количество аргументов через *arguments
Если функция может принимать любое количество аргументов, то перед названием параметра добавьте *
Подписывайтесь на канал 👉@pythonofff
Если функция может принимать любое количество аргументов, то перед названием параметра добавьте *
Подписывайтесь на канал 👉@pythonofff
👍6❤1
Редирект вывода программы
В contextlib есть еще один прикольный контекстный менеджер — redirect_stdout, позволяющий перенаправить стандартный вывод программы.
Контекстный менеджер принимает аргумент, в котором мы можем указать, куда должен переправляться весь вывод в последующем блоке.
Таким образом, данные из print() в контекстом менеджере будут переправлены в открытый ранее файл, так как мы его передали в аргумент redirect_stdout.
Убедится в этом можем, открыв файл заново и прочитав оттуда данные.
Подписывайтесь на канал 👉@pythonofff
В contextlib есть еще один прикольный контекстный менеджер — redirect_stdout, позволяющий перенаправить стандартный вывод программы.
Контекстный менеджер принимает аргумент, в котором мы можем указать, куда должен переправляться весь вывод в последующем блоке.
Таким образом, данные из print() в контекстом менеджере будут переправлены в открытый ранее файл, так как мы его передали в аргумент redirect_stdout.
Убедится в этом можем, открыв файл заново и прочитав оттуда данные.
Подписывайтесь на канал 👉@pythonofff
👍3
Вывод текущей директории
Обработка файлов в Python с помощью модуля os включает создание, переименование, перемещение, удаление файлов и папок, а также получение списка всех файлов и каталогов и многое другое.
Подписывайтесь на канал 👉@pythonofff
Обработка файлов в Python с помощью модуля os включает создание, переименование, перемещение, удаление файлов и папок, а также получение списка всех файлов и каталогов и многое другое.
Подписывайтесь на канал 👉@pythonofff
👍4
ООП: композиция
Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.
Как правило, в этом случае объект одного из классов (в примере выше это Salary) является полем другого (Employee). Сложного здесь, как вы видите, ничего нет.
Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля weakref, о котором поговорим позже.
Подписывайтесь на канал 👉@pythonofff
Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.
Как правило, в этом случае объект одного из классов (в примере выше это Salary) является полем другого (Employee). Сложного здесь, как вы видите, ничего нет.
Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля weakref, о котором поговорим позже.
Подписывайтесь на канал 👉@pythonofff
🔥6
Распечатывание ежемесячного календаря
Этот лайфхак — всего лишь скрытая функция Python, которая позволяет распечатывать ежемесячный календарь в формате таблицы.
Подписывайтесь на канал 👉@pythonofff
Этот лайфхак — всего лишь скрытая функция Python, которая позволяет распечатывать ежемесячный календарь в формате таблицы.
Подписывайтесь на канал 👉@pythonofff
👍6🔥1
Считаем ссылки на объект
В Python практически никогда не нужно волноваться об управлении памятью, потому что все это делается автоматически.
Счетчик ссылок — это то, что помогает при проверке того, следует ли выполнять сборку мусора или нет. Сборщик мусора удаляет объект из памяти в случае, если на него ничего не ссылается.
Если на объект ссылается другой объект, то он имеет ненулевое значение ссылок и не может быть собран как мусор (если, конечно, вы не удалите вручную).
В примере выше продемонстрирован простой способ, как можно посмотреть количество ссылок у объекта.
Подписывайтесь на канал 👉@pythonofff
В Python практически никогда не нужно волноваться об управлении памятью, потому что все это делается автоматически.
Счетчик ссылок — это то, что помогает при проверке того, следует ли выполнять сборку мусора или нет. Сборщик мусора удаляет объект из памяти в случае, если на него ничего не ссылается.
Если на объект ссылается другой объект, то он имеет ненулевое значение ссылок и не может быть собран как мусор (если, конечно, вы не удалите вручную).
В примере выше продемонстрирован простой способ, как можно посмотреть количество ссылок у объекта.
Подписывайтесь на канал 👉@pythonofff
👍4
Как удалить пробелы из строки с помощью replace()
Как упоминалось выше, функция replace() – это одна из наиболее часто используемых строковых функций в Python. С ее помощью можно заменить определенный символ, слово или фразу в указанной строке. Синтаксис функции replace()
Подписывайтесь на канал 👉@pythonofff
Как упоминалось выше, функция replace() – это одна из наиболее часто используемых строковых функций в Python. С ее помощью можно заменить определенный символ, слово или фразу в указанной строке. Синтаксис функции replace()
Подписывайтесь на канал 👉@pythonofff
В чем секрет успешного разработчика? В умении не только писать код, но и мыслить алгоритмами.
Именно на этом построено обучение на Хекслете. Мы не сторонники подхода «повтори за учителем». Вы будете не просто писать код, а научитесь самостоятельно находить лучшие решения и сформируете инженерное мышление.
На профессии «Django Python-разработчик» вы:
✔️ Научитесь работать с сетевыми запросами.
✔️ Овладеете навыком проектирования архитектуры приложений.
✔️ Освоите самый популярный веб-фреймворк Django.
✔️ Подготовите 4 проекта для портфолио на GitHub.
✔️ Решите 150 тестовых заданий от наших партнёров.
Хотите узнать, подойдет ли вам обучение? Тогда переходите на сайт по ссылке выше и сделайте шаг в IT уже сегодня.
🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10%
Именно на этом построено обучение на Хекслете. Мы не сторонники подхода «повтори за учителем». Вы будете не просто писать код, а научитесь самостоятельно находить лучшие решения и сформируете инженерное мышление.
На профессии «Django Python-разработчик» вы:
✔️ Научитесь работать с сетевыми запросами.
✔️ Овладеете навыком проектирования архитектуры приложений.
✔️ Освоите самый популярный веб-фреймворк Django.
✔️ Подготовите 4 проекта для портфолио на GitHub.
✔️ Решите 150 тестовых заданий от наших партнёров.
Хотите узнать, подойдет ли вам обучение? Тогда переходите на сайт по ссылке выше и сделайте шаг в IT уже сегодня.
🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10%
Пакетный менеджер pip
Для работы с пакетами в Python есть специальная утилита pip — устанавливается она сразу вместе с интерпретатором.
Установить или удалить пакет можно через команды install и uninstall. После них нужно перечислить необходимые пакеты через пробел.
Команды list и freeze покажут все пакеты в текущем окружении, а также их версии. Обратите внимание на то, как выглядит вывод каждой из них.
А с помощью show можно посмотреть информацию о конкретном пакете: название, версию, описание, автора, лицензию и другое.
Подписывайтесь на канал 👉@pythonofff
Для работы с пакетами в Python есть специальная утилита pip — устанавливается она сразу вместе с интерпретатором.
Установить или удалить пакет можно через команды install и uninstall. После них нужно перечислить необходимые пакеты через пробел.
Команды list и freeze покажут все пакеты в текущем окружении, а также их версии. Обратите внимание на то, как выглядит вывод каждой из них.
А с помощью show можно посмотреть информацию о конкретном пакете: название, версию, описание, автора, лицензию и другое.
Подписывайтесь на канал 👉@pythonofff
👍5🤨2
Итерация без итератора
Чтобы лучше понять преимущества итераторов, давайте кратко рассмотрим итерацию без итераторов. Примером итерации без итератора является классический цикл for в стиле C. Этот стиль существует не только в C, но и, например, в C++, go и JavaScript.
Подписывайтесь на канал 👉@pythonofff
Чтобы лучше понять преимущества итераторов, давайте кратко рассмотрим итерацию без итераторов. Примером итерации без итератора является классический цикл for в стиле C. Этот стиль существует не только в C, но и, например, в C++, go и JavaScript.
Подписывайтесь на канал 👉@pythonofff
👍5👎1