Pythoner
7.21K subscribers
861 photos
28 videos
4 files
656 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
Разбор

Цикл while должен был бы быть бесконечным, если бы его не прервал break, который находится внутри if'a (условие правдиво). Так как break стоит раньше, чем print('A'), то этот вывод не сработает.

Мы можем прикреплять else к циклам (while или for). Он будет срабатывать тогда, когда цикл не был прерван break конструкцией (а у нас был).
Таким образом ответом будет только вывод 'C'.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥6👏2
Counter - это класс из модуля collections в Python, который используется для подсчета хэшируемых объектов. Он представляет собой специальный вид словаря, который позволяет подсчитывать количество вхождений каждого уникального элемента в последовательности (списке, кортеже, строки и т. д.).

🔫Код на фото создаст объект Counter, который подсчитает количество вхождений каждого элемента в списке my_list. Результат будет представлен в виде словаря, где ключами будут уникальные элементы, а значениями - их количество.

💡Счетчик counter позволяет легко вычислить частоту. Он работает не только с числами, но и с любым итерируемыми объектами, такими как строки и списки.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥1
📄Pyperclip - это библиотека Python, которая позволяет копировать и вставлять текст в буфер обмена компьютера. Она предоставляет простой интерфейс для работы с буфером обмена, что делает ее очень удобной для автоматизации задач, связанных с копированием и вставкой текста.

➡️Pyperclip может быть использована для автоматизации задач, например, копирования текста из приложений и вставки его в другие приложения. Это удобно при написании скриптов, которые выполняют множество операций с текстом.

💡Отправка вывода вашей программы в буфер обмена облегчает его вставку в email, текстовый редактор или другую программу.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🔥4🤔1
↔️Slicing (отсечение) — это механизм выбора диапазона элементов из таких типов последовательностей, как список, кортеж, строки и т.д. Такое отсечение выполняется методом индексации.

💡Slicing в Python очень мощный инструмент, который позволяет легко и гибко работать с элементами в списках, строках и других итерируемых объектах. Он помогает упростить код и делает его более читаемым.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥2
🔃Python также имеет встроенную функцию pow(), которая возводит число в указанную степень. Синтаксис данной функции выглядит следующим образом:

pow(base, exponent)


🔫Приведенный выше код интерпретируется как baseexponent, то есть число base в степени exponent.

➡️Функция pow() принимает два аргумента: число (известное как основание или base) и степень, в которую число должно быть возведено (показатель степени — exponent).

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥3
⚙️Динамическая типизация - это подход к типизации, при котором типы переменных определяются во время выполнения программы, а не на этапе компиляции. С динамической типизацией тип переменной связывается с данными во время выполнения на основе их значения и контекста использования. Это означает, что переменная может содержать данные любого типа, и ее тип может изменяться в процессе выполнения программы.

⬆️В этом примере переменная x сначала содержит целое число, затем строку, а затем список.

Тип переменной определяется автоматически во время выполнения программы на основе значения, присвоенного переменной.

💡Преимущества динамической типизации включают гибкость и удобство использования. Однако это также может привести к потенциальным ошибкам во время выполнения, если переменная содержит неожиданные данные, и затрудняет статический анализ кода на этапе компиляции.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥2
😁20🤣16👍102
➡️Что такое Дескрипторы?

Дескрипторы - это объекты, которые определяют поведение атрибутов при их доступе, изменении и удалении. В Python дескрипторы определяются методами __get__, __set__ и __delete__ в дескрипторном классе. Эти методы позволяют управлять тем, как атрибуты объекта получают, изменяют и удаляют значения.

➡️Пример использования Дескрипторов

Рассмотрим пример использования дескрипторов. Предположим, у нас есть класс Person, который имеет атрибут age. Мы хотим гарантировать, что возраст не может быть отрицательным числом. Для этого мы можем использовать дескриптор. Мы создадим класс NonNegative, который будет дескриптором для возраста. В этом классе мы определим метод __set__, который будет проверять, является ли новое значение отрицательным числом. Если это так, метод __set__ вызовет исключение.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥6👍4
➡️LeetCode - это платформа для подготовки к техническим собеседованиям, где вы можете практиковать свои навыки программирования. Они предлагают широкий спектр задач, связанных с алгоритмами и структурами данных, которые могут быть использованы в индустрии.

⁉️ Зачем использовать LeetCode?

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

⁉️Как использовать LeetCode?

Чтобы начать использовать LeetCode, вам нужно зарегистрироваться на их сайте. После регистрации вы можете выбрать задачи и начать их решать. Каждая задача имеет свой уровень сложности, от легких до трудных, и может быть решена на одном из нескольких языков программирования. Вы можете использовать свой любимый язык программирования или выбрать новый язык для изучения.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥54
➡️Рекурсия - это механизм в программировании, когда функция вызывает саму себя. В Python рекурсия широко используется для решения задач, которые могут быть разбиты на более простые подзадачи.

⬆️Код на фото определяет функцию factorial, которая вызывает саму себя, пока n не станет равным 0. Когда n достигает 0, функция возвращает 1. Затем все вложенные вызовы функции умножаются между собой, чтобы получить итоговый результат.

💡Однако следует помнить о возможных проблемах с рекурсией, таких как переполнение стека вызовов при слишком глубоком вложении функций, что может привести к ошибке "RecursionError: maximum recursion depth exceeded". Поэтому нужно быть осторожным при использовании рекурсии и думать о возможности оптимизации кода.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥3
➡️Модель в Django - это специальный класс Python, который определяет структуру таблицы в базе данных. Каждый атрибут класса соответствует столбцу в таблице, а тип атрибута определяет тип данных, хранимых в столбце. Django предоставляет множество типов полей, таких как CharField, IntegerField, BooleanField и другие, которые можно использовать для определения различных типов данных.

👩‍💻 Создание модели

Чтобы создать модель в Django, нужно создать новый класс Python в файле models.py вашего приложения. Например, если вы создаете блог, вы можете создать модель для статей следующим образом:

from django.db import models

class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)

⬆️В этом примере мы создали модель Article с тремя полями: title, content и pub_date. Поле title определено как CharField с максимальной длиной 100 символов. Поле content определено как TextField, который может хранить длинные тексты. Поле pub_date определено как DateTimeField, который автоматически заполняется текущей датой и временем при создании новой записи.

Все поля для моделей и их описание

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2
⬆️Памятка для поста выше про типы моделей.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍52
🐍При работе над проектом на Python часто используются внешние библиотеки и пакеты, которые не являются частью стандартной библиотеки Python. В этом случае необходимо отслеживать все зависимости и их соответствующие версии, чтобы гарантировать, что код выполняется ожидаемым образом на разных машинах. В этом нам поможет файл requirements.txt.

👩‍💻Что такое requirements.txt?

Файл requirements.txt - это текстовый файл, который хранит список всех внешних зависимостей, необходимых для проекта на Python. Он содержит имена пакетов и их соответствующие версии, разделенные переносом строки. Этот файл позволяет автоматизировать установку всех зависимостей, необходимых для вашего проекта, запустив одну команду.

👩‍💻Создание файла requirements.txt

Чтобы создать файл requirements.txt, вы можете использовать команду pip freeze. Эта команда генерирует список всех установленных пакетов и их соответствующие версии. Затем вы можете перенаправить вывод в файл, используя символ '>'. Вот пример:

pip freeze > requirements.txt


Эта команда создаст файл requirements.txt в текущем каталоге и заполнит его списком установленных пакетов.

👩‍💻 Использование файла requirements.txt

После создания файла requirements.txt вы можете использовать его для установки всех зависимостей, необходимых для вашего проекта, на другой машине. Для этого вы можете использовать команду pip install вместе с флагом -r, за которым следует путь к файлу requirements.txt. Вот пример:

pip install -r requirements.txt


Эта команда установит все пакеты, перечисленные в файле requirements.txt, вместе с их соответствующими версиями.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍224🔥4
🎮Игровой цикл - это основной механизм Pygame, который позволяет создавать и управлять игрой. Он состоит из нескольких этапов, которые повторяются в цикле, пока игра не завершится.

➡️Первым этапом является обработка событий. В этом этапе Pygame проверяет все события, произошедшие с игроком, такие как нажатия клавиш, движения мыши и т.д. Затем Pygame обрабатывает эти события и делает соответствующие действия, например, изменение положения игрового персонажа.

➡️Вторым этапом является обновление игрового состояния. В этом этапе Pygame обновляет все объекты на экране, включая игровые персонажи, фоны и препятствия. Pygame также обрабатывает физику игры, такую как гравитация и столкновения.

➡️Третий этап - это отрисовка графики. В этом этапе Pygame рисует все игровые объекты на экране, включая фоны, персонажей и препятствия.
Затем Pygame отображает это на экране.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥54
👍11
Что выдаст код выше?
Anonymous Quiz
8%
a
9%
a b
17%
a b c
32%
a c
1%
a c b
33%
Error
👍15
Разбор

У нас уже была как-то задача, где есть 2 функции, которые одинаково названы и есть вызов.

Сначала отработает самая последняя строка - она вызовет самую наружную функцию, в ней принтанется буква 'a'.

Далее у нас идет объявление двух функций подряд, а только потом вызов —> вызываться будет последняя объявленная функция, в которой написан вывод в принте 'c'.

Больше никаких вызовов/циклов и тд нет, значит функции будут завершать работу, и мы вернемся в место первого вызова, после чего код завершиться.

Итог: а с
Please open Telegram to view this post
VIEW IN TELEGRAM
👍203🔥3🤔1
Pythoner
Photo
В коде была опечатка, исправил, сейчас всё корректно, спасибо всем кто заметил и подсказал в комментариях ❤️‍🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
👌12👍43