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

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

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
🔃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
💰Библиотека bitcoinlib является мощным инструментом для работы с биткоином и другими криптовалютами в Python. Она обеспечивает удобный и гибкий интерфейс для создания, подписания и обработки транзакций, а также для работы с блокчейном.

➡️Создание и подписание транзакций

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

📌Пример кода:

from bitcoinlib.transactions import Transaction

# Создаем новую транзакцию
tx = Transaction()

# Добавляем входы и выходы
tx.add_input('input_address', 'input_value')
tx.add_output('output_address', 'output_value')

# Подписываем транзакцию
tx.sign('private_key')

# Отправляем транзакцию
tx.send()


➡️Работа с блокчейном

Библиотека bitcoinlib также предоставляет функции для работы с блокчейном. Вы можете получить информацию о блоках, транзакциях и адресах. Также есть возможность мониторить блокчейн на предмет новых транзакций или изменений в блоках.

📌Пример кода:

from bitcoinlib.blocks import Block

# Получаем информацию о блоке
block = Block('block_hash')
print(block.info())


➡️Интеграция с другими криптовалютами

В дополнение к биткоину, bitcoinlib поддерживает работу с другими криптовалютами, такими как Litecoin и Dash. Это позволяет разработчикам создавать мульти-валютные приложения и услуги, используя единый интерфейс.

📌Пример кода:

from bitcoinlib.wallets import HDWallet

# Создаем кошелек для Litecoin
ltc_wallet = HDWallet.create('my_litecoin_wallet', network='litecoin')

# Получаем баланс кошелька
print(ltc_wallet.balance())



🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥32👀1
😁17👍6🤣61
Проверка скорости интернета с помощью Python


➡️Использование модуля speedtest-cli

Python имеет библиотеку под названием speedtest-cli, которая облегчает проверку скорости вашего интернет-соединения. Этот модуль использует [speedtest.net](http://speedtest.net/) для проведения тестов. Установить его можно с помощью pip install speedtest-cli. После установки вы можете импортировать его в свою программу и использовать функции для проверки скорости.

➡️Написание кода для проверки скорости

Ваш код для проверки скорости может быть таким простым, как импорт модуля speedtest и вызов его функций для получения скоростей загрузки и загрузки. Пример кода может выглядеть так:

import speedtest
s = speedtest.Speedtest()
print(f"Download: {s.download()}")
print(f"Upload: {s.upload()}")


Этот код выдаст скорости загрузки и загрузки в битах в секунду.

➡️Использование результатов

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

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥53
💡Начнем с определения: В Джанго формой называется набор полей, представляющий данные одного объекта.

➡️В Django для создания форм используется класс forms.Form. Этот класс определяет поля формы и правила их валидации. Например, для создания простой формы входа, мы можем определить следующий класс:

from django import forms

class LoginForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput)


⬆️Здесь мы определяем два поля: username и password. Поле username создается с помощью класса CharField, который позволяет вводить текстовые данные. Поле password также является CharField, но мы используем аргумент widget для определения типа поля ввода. В данном случае мы используем PasswordInput, который скрывает введенный пользователем текст.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍194🔥1
➡️ SQLite

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

➡️PostgreSQL и MySQL

Django также поддерживает PostgreSQL и MySQL в качестве баз данных. Эти базы данных могут обрабатывать большие объемы данных и подходят для крупных и сложных приложений. При использовании этих баз данных вы можете использовать мощные функции, такие как репликация, кластеризация и балансировка нагрузки, что делает их идеальным выбором для больших проектов.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥2