Вывод текущей директории
Обработка файлов в 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
Устроим middle python-программистом ещё до того, как вы закончите обучение
Разработчики-преподаватели из Devman решили, что у вас нет времени, чтобы долго учиться и ждать, когда ваше образование окупится! Поэтому разработали программу, которая гарантирует качественный трек сразу до мидла, со стажировкой и трудоустройством еще во время обучения.
Курс стартует 9 января. Первую неделю курса можно попробовать бесплатно, а после решить — продолжать ли платное обучение по треку.
На пробной неделе:
▫️Новички сделают сервис, который показывает погоду в разных городах.
▫️Более опытные успеют написать и собственный сервис по сокращению ссылок.
▫️Джуны создадут своего чат бота или сделают собственный сайт с афишей мероприятий.
После пробной недели вы получите фидбек от ментора и узнаете, какие навыки вам нужно подтянуть.
Чтобы записаться на пробную неделю переходите в бота → bit.ly/3WY5Suz
Реклама. ООО Девман 2Vtzqug49m4
Разработчики-преподаватели из Devman решили, что у вас нет времени, чтобы долго учиться и ждать, когда ваше образование окупится! Поэтому разработали программу, которая гарантирует качественный трек сразу до мидла, со стажировкой и трудоустройством еще во время обучения.
Курс стартует 9 января. Первую неделю курса можно попробовать бесплатно, а после решить — продолжать ли платное обучение по треку.
На пробной неделе:
▫️Новички сделают сервис, который показывает погоду в разных городах.
▫️Более опытные успеют написать и собственный сервис по сокращению ссылок.
▫️Джуны создадут своего чат бота или сделают собственный сайт с афишей мероприятий.
После пробной недели вы получите фидбек от ментора и узнаете, какие навыки вам нужно подтянуть.
Чтобы записаться на пробную неделю переходите в бота → bit.ly/3WY5Suz
Реклама. ООО Девман 2Vtzqug49m4
Генераторные выражения и списковые включения
В примере выше первая и вторая строчки очень похожи, но различаются видами скобок. В списковом включении они квадратные, а в генераторном выражении – круглые.
Если вывести переменные, то видим, что значением переменной l является список, а переменная g хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.
Нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы — используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
Подписывайтесь на канал 👉@pythonofff
В примере выше первая и вторая строчки очень похожи, но различаются видами скобок. В списковом включении они квадратные, а в генераторном выражении – круглые.
Если вывести переменные, то видим, что значением переменной l является список, а переменная g хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.
Нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы — используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
Подписывайтесь на канал 👉@pythonofff
👍3🔥1
Как вывести переменную и строку в Python, разделив их запятыми
Вы можете указать строку и переменную в качестве аргументов функции print(), просто перечислив их через запятую.
Подписывайтесь на канал 👉@pythonofff
Вы можете указать строку и переменную в качестве аргументов функции print(), просто перечислив их через запятую.
Подписывайтесь на канал 👉@pythonofff
👍3
Работаем с атрибутами объектов
Помимо привычного обращения к атрибутам объектов через точку, в Python есть 4 специальных функции: getattr, setattr, delattr и hasattr.
По названиям можно понять, что первые три отвечают за получение, установку и удаление атрибута. А последний проверяет, существует ли атрибут с указанным названием у объекта или нет.
Во всех функциях первыми двумя аргументами идут объект и название атрибута в виде строки. В setattr также нужно передать новое значение для атрибута.
На практике использование подобного — довольно редкий случай, но иногда может сильно выручить, так что берите на вооружение.
Подписывайтесь на канал 👉@pythonofff
Помимо привычного обращения к атрибутам объектов через точку, в Python есть 4 специальных функции: getattr, setattr, delattr и hasattr.
По названиям можно понять, что первые три отвечают за получение, установку и удаление атрибута. А последний проверяет, существует ли атрибут с указанным названием у объекта или нет.
Во всех функциях первыми двумя аргументами идут объект и название атрибута в виде строки. В setattr также нужно передать новое значение для атрибута.
На практике использование подобного — довольно редкий случай, но иногда может сильно выручить, так что берите на вооружение.
Подписывайтесь на канал 👉@pythonofff
👍7
Как использовать функцию print() в Python
Чтобы вывести что-либо на экран, мы используем функцию print(). Пишем ключевое слово print, за которым следует пара круглых скобок (). Внутри этих скобок мы помещаем то, что хотим распечатать.
Подписывайтесь на канал 👉@pythonofff
Чтобы вывести что-либо на экран, мы используем функцию print(). Пишем ключевое слово print, за которым следует пара круглых скобок (). Внутри этих скобок мы помещаем то, что хотим распечатать.
Подписывайтесь на канал 👉@pythonofff
😁6🥴4🤨4👍1😴1
Итерируемый счетчик
Еще один классный итератор из itertools — это count, который генерирует бесконечную последовательность чисел.
В аргументах можно задать значения start и step: первый отвечает за начальное значение, а второе за шаг, как и в range.
Обычно count редко используют с циклом for. Чаще можно встретить случаи с функциями типа zip или map.
Подписывайтесь на канал 👉@pythonofff
Еще один классный итератор из itertools — это count, который генерирует бесконечную последовательность чисел.
В аргументах можно задать значения start и step: первый отвечает за начальное значение, а второе за шаг, как и в range.
Обычно count редко используют с циклом for. Чаще можно встретить случаи с функциями типа zip или map.
Подписывайтесь на канал 👉@pythonofff
👍2🔥1
Как объединить словари в Python с помощью цикла for
Мы можем объединить два или более словарей, используя цикл for
Но проблема данного метода в том, что нам приходится запускать такой цикл для объединения словарей множество раз.
Подписывайтесь на канал 👉@pythonofff
Мы можем объединить два или более словарей, используя цикл for
Но проблема данного метода в том, что нам приходится запускать такой цикл для объединения словарей множество раз.
Подписывайтесь на канал 👉@pythonofff
👍2
Использование комплексных чисел в Python
Никого здесь уже не удивить такими встроенными типами, как например int, float, и подобными. Но кроме них в Python существует еще один довольно интересный тип, а именно, complex.
В Python комплексные числа представлены в виде x + iy. А точнее говоря, вместо буквы i здесь используется буква j, во избежание некоторой путаницы, поскольку i чаще всего занята под циклы. Python преобразует реальные числа x и y (будь то int или float) в комплексное с помощью функции complex(x,y).
Комплексное число легко можно превратить в строку с помощью функции str или посчитать его модуль с помощью функции abs, а также для доступа к его реальной или мнимой частям можно воспользоваться методами real и imag.
Хотя complex и является встроенным типом, для более удобной работы с комплексными операциями рекомендуется импортировать модуль cmath.
Подписывайтесь на канал 👉@pythonofff
Никого здесь уже не удивить такими встроенными типами, как например int, float, и подобными. Но кроме них в Python существует еще один довольно интересный тип, а именно, complex.
В Python комплексные числа представлены в виде x + iy. А точнее говоря, вместо буквы i здесь используется буква j, во избежание некоторой путаницы, поскольку i чаще всего занята под циклы. Python преобразует реальные числа x и y (будь то int или float) в комплексное с помощью функции complex(x,y).
Комплексное число легко можно превратить в строку с помощью функции str или посчитать его модуль с помощью функции abs, а также для доступа к его реальной или мнимой частям можно воспользоваться методами real и imag.
Хотя complex и является встроенным типом, для более удобной работы с комплексными операциями рекомендуется импортировать модуль cmath.
Подписывайтесь на канал 👉@pythonofff
👍4
Специальные переменные
Одна примечательная «особая» переменная, которую вы часто можете видеть в коде Python, — это _, то есть просто символ подчеркивания. По соглашению так именуют малозначимые переменные. Откуда же берутся такие переменные? Например, иногда надо недолго хранить значение, возвращаемое функцией. В примере ниже мы сканируем строки датафрейма из библиотеки pandas
Подписывайтесь на канал 👉@pythonofff
Одна примечательная «особая» переменная, которую вы часто можете видеть в коде Python, — это _, то есть просто символ подчеркивания. По соглашению так именуют малозначимые переменные. Откуда же берутся такие переменные? Например, иногда надо недолго хранить значение, возвращаемое функцией. В примере ниже мы сканируем строки датафрейма из библиотеки pandas
Подписывайтесь на канал 👉@pythonofff
👍5
Decimal и Fraction
Из-за того, что дробные числа с плавающей точкой хранятся в двоичном виде, мы обычно работаем с приблизительными значениями, как в первом варианте на скрине.
Для получения более точных результатов можно использовать класс Decimal, но и его может не хватить в некоторых случаях.
В данной связи, для идеальных вычислений лучше использовать класс Fraction, т.к. он работает с числами в виде рациональных дробей.
Подписывайтесь на канал 👉@pythonofff
Из-за того, что дробные числа с плавающей точкой хранятся в двоичном виде, мы обычно работаем с приблизительными значениями, как в первом варианте на скрине.
Для получения более точных результатов можно использовать класс Decimal, но и его может не хватить в некоторых случаях.
В данной связи, для идеальных вычислений лучше использовать класс Fraction, т.к. он работает с числами в виде рациональных дробей.
Подписывайтесь на канал 👉@pythonofff
👍5
Используйте настраиваемый User-Agent
Механизм защиты от скрапинга – User-Agent. UA – это заголовок, который браузеры отправляют в запросах для идентификации. Обычно он представляет собой длинную строку, в которой объявляется имя браузера, версия, платформа и многое другое.
Подписывайтесь на канал 👉@pythonofff
Механизм защиты от скрапинга – User-Agent. UA – это заголовок, который браузеры отправляют в запросах для идентификации. Обычно он представляет собой длинную строку, в которой объявляется имя браузера, версия, платформа и многое другое.
Подписывайтесь на канал 👉@pythonofff
👍4
Вычисление размера объектов
Для вычисления размера объекта мы можем использовать функцию getsizeof(object[, default]) из модуля sys. Так как в python все по сути является объектами, то и вычислить размер в памяти мы можем у любого такого объекта.
И хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.
Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError .
Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора.
Подписывайтесь на канал 👉@pythonofff
Для вычисления размера объекта мы можем использовать функцию getsizeof(object[, default]) из модуля sys. Так как в python все по сути является объектами, то и вычислить размер в памяти мы можем у любого такого объекта.
И хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.
Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError .
Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора.
Подписывайтесь на канал 👉@pythonofff
👍1