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

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

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
➡️Организация модулей

Один из основных назначений файла __init__.py - это сигнализировать Python, что папка является модулем. В этом файле можно определить переменные, функции или классы, которые будут доступны извне. Это позволяет организовать код внутри папки и создавать логические блоки функциональности. Благодаря файлу __init__.py вы можете импортировать модули из папки, используя точечную нотацию, например: "import folder.module".

➡️Инициализация пакетов

В Python папки с файлами __init__.pyназываются пакетами. Файл __init__.py в пакете выполняет роль инициализации пакета. Это означает, что код в этом файле будет выполнен при импорте пакета. Это может быть полезно, когда вам нужно выполнить какую-то предварительную настройку или импортировать дополнительные модули, необходимые для работы пакета. Такой подход позволяет обеспечить последовательность инициализации и избежать ошибок при использовании пакета.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥1
🐍Сегодня обсудим, какие языки программирования и разметки чаще всего используют в связке с нашим любимым Python.

➡️JavaScript

Используется для фронтенда в веб-разработке. Вместе с Python (Django, Flask) JavaScript позволяет создавать динамичные и интерактивные веб-приложения. Вспомните такие связки как Django + React или Flask + Vue.js.

➡️HTML & CSS

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

➡️SQL

Язык запросов к базам данных. Python имеет отличные библиотеки для работы с SQL, такие как SQLAlchemy и SQLite. Любое серьезное приложение не обходится без взаимодействия с базами данных.

➡️Markdown

Легкий язык разметки для написания документации. Блоги, README файлы на GitHub и многое другое часто пишется на Markdown. Отлично подходит для документирования кода на Python.

➡️YAML/JSON

Форматы данных, которые используются для конфигурационных файлов. Они легко читаются человеком и часто применяются для настройки различных сервисов и библиотек на Python.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥1👏1
🤣17👍13😁4💯3
➡️Аннотации типов - это способ указать ожидаемый тип переменной в определении функции или метода. Для этого используется синтаксис с двоеточием и указанием типа после имени переменной. Например:

def add_numbers(x: int, y: int) -> int:
return x + y


⬆️Здесь мы указываем, что функция add_numbers ожидает два целочисленных аргумента и возвращает целое число. Хотя аннотации типов не оказывают никакого влияния на выполнение программы, они могут помочь IDE и другим разработчикам понимать, какие данные ожидает функция.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥2
👍7
Что выдаст код выше
Anonymous Quiz
73%
meow
3%
None
13%
meow None
4%
None meow
8%
Error
👍63🤯3👌1
Разбор

1. У нас есть класс Animal, который служит абстракцией и определяет метод voice.

2. Класс Cat наследует от Animal и переопределяет метод voice, выводя "meow".

3. Мы создаем объект cat как экземпляр класса Cat.

4. Вызываем cat.voice() и выводим результат с print().
Но помним что cat.voice() только выводит результат принтом и не возвращает ничего с помощью return

5. Результат: создание cat, вызов cat.voice() выводит "meow", но тк мы пытаемся вывести результат, который возвращается из функции, а там нет явного return то получаем None.

Итак, код выведет "meow None"
.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🤯125🔥4
➡️Сначала стоит напомнить, что методы, которые начинаются и заканчиваются двойными нижними подчеркиваниями, называются магическими.

Например, выше в классе Point мы определили str, который отвечает за то, как выводятся объекты класса на экран.

➡️Для перегрузки оператора "+" нужно определить метод add. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения.

➡️Таким образом, когда разработчик пишет запись p1 + p2, интерпретатор воспринимает это в виде Point.add(p1, p2). Для всех операторов в языке, включая и логические, есть свои магические методы.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥4👍3
🤣32👍7😁4
➡️JSON (JavaScript Object Notation) - это универсальный формат для обмена данными между приложениями. Он особенно популярен в веб-разработке, так как является легким и читаемым для человека.

➡️Чтение JSON-данных в Python

Одной из основных операций при работе с JSON в Python является чтение данных из JSON-файла или строки. Для этого в Python есть модуль json, который предоставляет функции для преобразования JSON в Python-объекты и наоборот. Например, чтобы прочитать данные из JSON-файла, мы можем использовать функцию json.load():

import json

with open('data.json') as file:
data = json.load(file)


➡️Создание JSON-данных в Python

Помимо чтения JSON-данных, в Python мы также можем создавать и записывать JSON-данные. Для этого мы можем использовать функцию json.dump(). Например, допустим, у нас есть словарь Python, который мы хотим преобразовать в JSON-формат и записать в файл:

import json

data = {
'name': 'John',
'age': 30,
'city': 'New York'
}

with open('data.json', 'w') as file:
json.dump(data, file)

⬆️В данном примере мы создаем словарь data, который содержит информацию о имени, возрасте и городе. Затем мы используем функцию json.dump() для преобразования словаря в формат JSON и записи его в файл с именем data.json. После выполнения этого кода, в текущей директории будет создан новый файл data.json, содержащий данные в формате JSON.

Продолжение в следующем посте...

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🔥3
➡️Обработка JSON-данных в Python

Когда мы считали или создали JSON-данные в Python, мы можем обрабатывать их так же, как и любые другие данные. Мы можем получить доступ к элементам JSON-объекта, изменять их значения и выполнять другие операции. Все это работает подобно python словарю. Например, у нас есть следующий JSON-файл:

{
"name": "John",
"age": 30,
"city": "New York"
}

Мы можем получить доступ к значениям полей JSON-объекта следующим образом:

import json

with open('data.json') as file:
data = json.load(file)

name = data['name']
age = data['age']
city = data['city']

print(name, age, city)


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84👍3
➡️Оператор 'not' в Python является логическим оператором, который инвертирует значение выражения. Если выражение истинно, оператор 'not' возвращает False, а если выражение ложно, оператор 'not' возвращает True.

Пример использования оператора 'not'

x = True
print(not x) # Вывод: False

В этом примере, оператор 'not' инвертирует значение переменной 'x' и возвращает False.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥2
✈️Конкатенация строк - это процесс объединения двух или более строк в одну строку.

➡️Оператор % для конкатенации строк

В Python оператор % может использоваться для форматирования строк и подстановки значений в определенные места в строке.

Для конкатенации строк с использованием оператора % необходимо создать шаблон строки, в которой будут указаны места для подстановки значений. Затем с помощью оператора % можно передать значения, которые будут подставлены в соответствующие места в шаблоне.

➡️Пример использования оператора % для конкатенации строк:

name = "John"
age = 25
message = "Меня зовут %s и мне %d лет." % (name, age)
print(message)

⬆️В данном примере мы создали шаблон строки "Меня зовут %s и мне %d лет.", где %s и %d обозначают места для подстановки значения строки и целого числа соответственно. Затем мы использовали оператор % для подстановки значений переменных name и age в соответствующие места.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥1
👍53🔥2
Что выдаст код выше
Anonymous Quiz
4%
3
8%
5
1%
15
4%
True
70%
False
13%
Error
👍93🔥2
Разбор

В некоторых строках в конце присутствует ; . Это не ошибка, в Python можно ставить этот символ в конце строки, как, например, в си-подобных языках. Однако принято, что разработчики не ставят.

В переменную c мы записываем результат сравнения a ==b —> False, т.к. 3 == 5 —> False
Таким образом в принте нам просто выдаст False.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥3
➡️Библиотека aiohttp основана на пакете asyncio, который вводит понятие корутин и сопрограмм в Python. Она предоставляет простой и эффективный способ создания асинхронных HTTP-клиентов и серверов. С помощью aiohttp вы можете отправлять асинхронные HTTP-запросы, обрабатывать ответы и работать с веб-сокетами.

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

➡️Использование aiohttp-socks

Aiohttp-socks - это дополнение к aiohttp, библиотеке для асинхронной работы с протоколом HTTP в Python. Она позволяет делать асинхронные HTTP-запросы через SOCKS-прокси, что может быть полезно, например, при парсинге веб-страниц или при работе с API веб-сервисов. Библиотека поддерживает различные версии протокола SOCKS, включая SOCKS4, SOCKS4a и SOCKS5.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3
👍4111💯4😁3🔥2🤣2
😉Пишите свои ответы в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1
🔎Интересное применение класса Counter — это поиск анаграмм. Анаграмма — это слово или фраза, сформированные перестановкой букв другого слова или фразы.

Если объекты Counter двух строк эквивалентны, значит, они являются анаграммами.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1👀1