Pythoner
Open in Telegram
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode
Show more6 612
Subscribers
-324 hours
-117 days
-3930 days
Posts Archive
6 612
Я айтишник и я устал!
Рутина, прокрастинация, куча задач и 0 желания их выполнять. Еще и в семье конфликты. Че делать?
Хватит грызть самого себя и заставлять через силу - сделаешь только хуже!
Лучше подпишись на того, кто уже не первый год работает с IT-специалистами и помогает им справиться с апатией и прокрастинацией - Психолог с научным подходом.
👨🏻💻 Не очередной инфоциган, а практикующий психолог с дипломом и аккредитацией.
✔️ Как оторваться от ленты соц. сетей и сесть за работу с удовольствием?
✔️ Как перестать работать по выходным и при этом все успевать?
✔️ Как избавиться от постоянной тревожности?
✔️ Как успокоить конфликты в семье и перестать срываться на всех, а вместо этого получить поддержку и понимание со стороны близких?
Подписывайся на канал @remizov_changes - начни работать и жить в кайф, не скатываясь в кризисы и выгорание!
А в закрепе лови бонус - 7 практик для снятия головной боли без лекарств 💆🏼♂️
Не эзотерика, а минус одна отмазка от работы - “голова болит, посмотрю лучше еще один видосик”
6 612
➡️img2pdf - это библиотека Python, которая предоставляет возможность преобразования изображений в формат PDF. С помощью img2pdf вы можете легко объединить несколько изображений в один многостраничный PDF файл или преобразовать отдельные изображения в отдельные PDF файлы.
⬆️На фото показан простой пример кода который преобразые изображение в PDF.
👀Таким образом, img2pdf является полезным инструментом для работы с изображениями и их конвертации в формат PDF в среде Python.
🐍Pythoner
6 612
➡️Метод center() в Python используется для центрирования строки внутри указанной ширины. Он возвращает новую строку, в которой исходная строка располагается по центру, а слева и справа добавляется некоторое количество символов заполнения (обычно пробелов).
➡️Синтаксис метода
center() выглядит следующим образом:
string.center(width, fillchar)
где width - ширина итоговой строки, fillchar - символ, который будет добавлен слева и справа от исходной строки для заполнения места (по умолчанию это пробел).
👀Таким образом, метод center() может быть использован для создания выравнивания текста по центру в строке определенной ширины.
🐍Pythoner6 612
➡️Базовое использование .strip()
Функция .strip() в Python по умолчанию удаляет пробелы в начале и конце строки. Это может быть особенно полезно при работе с данными, которые могут содержать случайные пробелы, которые могут помешать анализу данных или программированию. Например, строка ' Привет, мир! ' станет 'Привет, мир!' после использования .strip().
s = ' Привет, мир! '
print(s.strip()) # Выведет: 'Привет, мир!'
➡️.strip() с аргументами
В дополнение к удалению пробелов, .strip() также может быть использован для удаления определенных символов из строки, передав их в качестве аргумента. Например, если мы хотим удалить определенный символ, такой как '#', из строки, мы можем это сделать, вызвав .strip('#'). Это удалит все экземпляры '#' из начала и конца строки.
s = '###Привет, мир!###'
print(s.strip('#')) # Выведет: 'Привет, мир!'
➡️.lstrip() и .rstrip()
Python также предлагает две вариации функции .strip(), которые являются .lstrip() и .rstrip(). Эти функции работают так же, как .strip(), но .lstrip() удаляет символы только с левой стороны строки, а .rstrip() - только с правой стороны.
s = '###Привет, мир!###'
print(s.lstrip('#')) # Выведет: 'Привет, мир!###'
print(s.rstrip('#')) # Выведет: '###Привет, мир!'
🐍Pythoner6 612
👀Инкапсуляция - это один из четырех основных принципов объектно-ориентированного программирования. Она позволяет скрыть внутреннюю реализацию объекта от других объектов и защитить его состояние от неправильного использования.
➡️ Методы и атрибуты
В Python, чтобы скрыть атрибуты объекта, их нужно объявить как приватные, используя два подчеркивания перед именем атрибута. Например, для создания приватного атрибута
name нужно написать __name. Также для доступа к этому атрибуту извне класса нужно использовать специальные методы get и set.
➡️Метод get возвращает значение приватного атрибута, а метод set устанавливает новое значение. Эти методы должны быть определены в самом классе. Например:
class Person:
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
person = Person("John")
print(person.get_name()) # "John"
person.set_name("Mike")
print(person.get_name()) # "Mike"
💡Для чего нужна инкапсуляция вообще?
- Защита данных от внешнего доступа
- Предотвращение случайных изменений данных
- Упрощение взаимодействия с объектами
- Сокрытие сложной логики работы объекта от пользователя
❓Будет ли код работать без нее?
- Да, будет
🐍Pythoner6 612
👀Оператор "is" в Python сравнивает идентичность объектов, а не их эквивалентность. Это означает, что он проверяет, указывают ли две переменные на один и тот же объект в памяти. Если два объекта имеют одинаковое значение, это не обязательно означает, что они идентичны. Они могут быть разными объектами в памяти.
➡️Примеры использования оператора "is"
x = [1, 2, 3]
y = x
print(x is y) # True
➡️В этом примере мы создали список "x" и присвоили его переменной "y". Затем мы использовали оператор "is", чтобы проверить, указывают ли "x" и "y" на один и тот же объект в памяти. Результатом является "True", потому что "x" и "y" указывают на один и тот же объект в памяти.
x = [1, 2, 3]
y = [1, 2, 3]
print(x is y) # False
➡️В этом примере мы создали два разных списка "x" и "y", которые содержат одинаковые значения. Затем мы использовали оператор "is", чтобы проверить, указывают ли "x" и "y" на один и тот же объект в памяти. Результатом является "False", потому что "x" и "y" являются разными объектами в памяти, даже если они содержат одинаковые значения.
🐍Pythoner6 612
➡️ SQLite
По умолчанию Django использует SQLite в качестве базы данных. SQLite - это легковесная база данных, которая хранит данные в одном файле. Она хорошо подходит для небольших приложений и тестирования, но может быть недостаточно мощной для крупных и сложных приложений. Если вы планируете создавать крупные приложения, вам, возможно, потребуется использовать другую базу данных.
➡️PostgreSQL и MySQL
Django также поддерживает PostgreSQL и MySQL в качестве баз данных. Эти базы данных могут обрабатывать большие объемы данных и подходят для крупных и сложных приложений. При использовании этих баз данных вы можете использовать мощные функции, такие как репликация, кластеризация и балансировка нагрузки, что делает их идеальным выбором для больших проектов.
🐍Pythoner
6 612
💡Начнем с определения: В Джанго формой называется набор полей, представляющий данные одного объекта.
➡️В 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, который скрывает введенный пользователем текст.
🐍Pythoner6 612
⏰Проверка скорости интернета с помощью 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()}")
Этот код выдаст скорости загрузки и загрузки в битах в секунду.
➡️Использование результатов
При получении результатов вы можете использовать их по своему усмотрению. Вы можете просто отобразить их на экране, записать их в файл для отслеживания со временем или использовать их для проверки того, соответствует ли ваше интернет-соединение обещаниям вашего провайдера.
🐍Pythoner6 612
Новая волна релокации российских IT-специалистов✈️
Согласно данным консалтингового агентства Garant In, за первый квартал 2024 года число запросов айтишников на получение видов на жительство в Европе выросло на 233%. Половина от всех запросов на ВНЖ приходит именно от IT-специалистов, а самая популярная страна (80% запросов) - Франция 😯
Кстати инфу выше взял из канала своего знакомого, Олега Булыгина, супер опытного дата-саентиста и разработчика, он у себя постит инфу которой даже на платных курсах не найдёшь😍 Так что советую залететь в PythonTalk и чатик в котором можно лично с ним пообщаться и спросить что-то.
6 612
💰Библиотека 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())
🐍Pythoner6 612
Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает?
Психолог взрослого человека - канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам.
▪️ Как научиться отвлекаться от работы и отдыхать?
▪️ Как совместить кучу рабочих задач и время с семьей?
▪️ Как справиться с прокрастинацией?
▪️ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит?
Подписывайтесь на канал @vadimpetrov_psy и научитесь работать без упахивания, выгорания и ущерба для личной жизни!
👨🏻💻 Псс. Заходите в закреп канала - там много полезного, и даже бесплатный мини-курс.
6 612
В коде была опечатка, исправил, сейчас всё корректно, спасибо всем кто заметил и подсказал в комментариях ❤️🔥
6 612
❓Разбор
У нас уже была как-то задача, где есть 2 функции, которые одинаково названы и есть вызов.
Сначала отработает самая последняя строка - она вызовет самую наружную функцию, в ней принтанется буква 'a'.
Далее у нас идет объявление двух функций подряд, а только потом вызов —> вызываться будет последняя объявленная функция, в которой написан вывод в принте 'c'.
Больше никаких вызовов/циклов и тд нет, значит функции будут завершать работу, и мы вернемся в место первого вызова, после чего код завершиться.
Итог: а с
6 612
🎮Игровой цикл - это основной механизм Pygame, который позволяет создавать и управлять игрой. Он состоит из нескольких этапов, которые повторяются в цикле, пока игра не завершится.
➡️Первым этапом является обработка событий. В этом этапе Pygame проверяет все события, произошедшие с игроком, такие как нажатия клавиш, движения мыши и т.д. Затем Pygame обрабатывает эти события и делает соответствующие действия, например, изменение положения игрового персонажа.
➡️Вторым этапом является обновление игрового состояния. В этом этапе Pygame обновляет все объекты на экране, включая игровые персонажи, фоны и препятствия. Pygame также обрабатывает физику игры, такую как гравитация и столкновения.
➡️Третий этап - это отрисовка графики. В этом этапе Pygame рисует все игровые объекты на экране, включая фоны, персонажей и препятствия.
Затем Pygame отображает это на экране.
🐍Pythoner
6 612
Ребят, в начале или середине своего пути вам часто нужно смотреть на примеры кода и реализацию разных возможностей
⚠️ Это повышает вашу насмотренность, понимание кода, да и вы всегда можете сохранить заготовки себе на будущие проекты
Раньше я публиковал множество сайтов. Но теперь есть специальный канал для этого: @code_ready
У вас будет все под рукой, с оформленным кодом, примерами, шпаргалками и без занудства
➡️ Так что подписываемся
