По результатам опроса Python Software Foundation, в 2025 году, доля разработчиков, использующих FastAPI, выросла с 29 до 38%.
#кек
@zen_of_python
#кек
@zen_of_python
❤1
archivey | WinRAR больше не нужен
Библиотека предлагает унифицированный способ обращения с архивами .zip, .rar, .tar, .7z и другими форматами. Массовые создание и распаковка, обработка символических ссылок (symlink), управление правами доступа и паролями.
#инструмент
@zen_of_python
Библиотека предлагает унифицированный способ обращения с архивами .zip, .rar, .tar, .7z и другими форматами. Массовые создание и распаковка, обработка символических ссылок (symlink), управление правами доступа и паролями.
#инструмент
@zen_of_python
❤2😇1
Функции vs. метод в Python: разница
Тем, кто в языке первый год, разница между этими объектами может показаться неочевидной, для них и написан этот лонгрид.
Что такое функция?
Это блок кода, который принимает входные данные (аргументы), обрабатывает их и возвращает результат. Выделяют два типа:
1️⃣ без побочных эффектов — это чисто математические функции;
2️⃣ с побочными эффектами — функции, которые взаимодействуют с чем-то вне себя, например, с файлом, списком, базой данных или терминалом.
Пример чистой функции
Такая функция при одинаковых входных данных всегда возвращает один и тот же результат.
Пример функции с побочными эффектами:
Здесь функция использует внешний модуль
Что такое метод?
Это та же функция, которая принадлежит объекту класса. Пока определение запутывает, но посмотрите пример ниже. Здесь
#основы
@zen_of_python
Тем, кто в языке первый год, разница между этими объектами может показаться неочевидной, для них и написан этот лонгрид.
Что такое функция?
Это блок кода, который принимает входные данные (аргументы), обрабатывает их и возвращает результат. Выделяют два типа:
Пример чистой функции
def add(a, b):
return a + b
print(add(2, 3)) # Всегда возвращает 5
Такая функция при одинаковых входных данных всегда возвращает один и тот же результат.
Пример функции с побочными эффектами:
import random
def random_point():
x = random.randint(0, 10)
y = random.randint(0, 10)
return x, y
print(random_point()) # Каждый раз возвращает разные значения
Здесь функция использует внешний модуль
random
, и результат может меняться при каждом вызове. Это и есть побочный эффект.Что такое метод?
Это та же функция, которая принадлежит объекту класса. Пока определение запутывает, но посмотрите пример ниже. Здесь
set_name
— это метод, используемый только для объектов Employee
:
class Employee:
def set_name(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
# Создаём объекты
emp1 = Employee()
emp2 = Employee()
# Используем метод
emp1.set_name("Alice", "Smith")
emp2.set_name("Bob", "Brown")
print(emp1.first_name, emp1.last_name) # Alice Smith
print(emp2.first_name, emp2.last_name) # Bob Brown
#основы
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1⚡1
tabulate | pretty-printed-таблицы в CLI
Библиотека сделает вывод датафрейма в консоль красивой. Поддерживает множество типов итерируемых объектов, может стилизовать вывод под GitHub, PSQL, LaTeX, Jira и проч. Самое оно для красоты в Google Colab.
#инструмент
@zen_of_python
Библиотека сделает вывод датафрейма в консоль красивой. Поддерживает множество типов итерируемых объектов, может стилизовать вывод под GitHub, PSQL, LaTeX, Jira и проч. Самое оно для красоты в Google Colab.
#инструмент
@zen_of_python
🔥5👍3
Про
В этом примере файл автоматически закроется после выхода из блока, даже если в процессе чтения произойдет исключение.
Как работает?
Оператор работает с объектами, реализующими протокол контекстного менеджера, то есть имеющими методы:
🔘
🔘
Примеры использования
Взаимодействие с базой данных:
Соединение с базой данных будет автоматически закрыто, даже если запрос вызовет исключение.
Зачем нужен with
🔘 Гарантирует, что ресурсы будут освобождены после использования;
🔘 Устраняет необходимость в явных блоках
🔘 Позволяет корректно обрабатывать исключения и освобождать ресурсы даже в случае ошибок;
🔘 Повышение читаемости.
#основы
@zen_of_python
with
with
позволяет обернуть выполнение блока кода в так называемый контекстный менеджер, который автоматически управляет ресурсами. Это особенно полезно для операций, требующих явного освобождения ресурсов, таких как работа с файлами, сетевыми соединениями или базами данных:
with open('example.txt', 'r') as file:
content = file.read()
print(content)
В этом примере файл автоматически закроется после выхода из блока, даже если в процессе чтения произойдет исключение.
Как работает?
Оператор работает с объектами, реализующими протокол контекстного менеджера, то есть имеющими методы:
__enter__()
: выполняется при входе в блок with. Готовит ресурс и возвращает его;__exit__()
: выполняется при выходе из блока. Отвечает за очистку ресурса, например, закрытие файла.Примеры использования
Взаимодействие с базой данных:
import sqlite3
with sqlite3.connect('example.db') as conn:
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
print(cursor.fetchall())
Соединение с базой данных будет автоматически закрыто, даже если запрос вызовет исключение.
Зачем нужен with
try
/ finally
;#основы
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1
Как тестировать перенос и трансформацию данных без боли
В статье на Tproger представили практичный и понятный подход к тестированию ETL-процессов с использованием Python, Pytest и фикстур. Автор — Data QA, поделилась опытом автоматизации создания и наполнения таблиц, хранением схем и данных в JSON, а также сравнением результатов до и после трансформации.
Проект с минимальным стеком — pytest, allure и psycopg2. Статья будет полезна разработчикам и тестировщикам.
#основы
@zen_of_python
В статье на Tproger представили практичный и понятный подход к тестированию ETL-процессов с использованием Python, Pytest и фикстур. Автор — Data QA, поделилась опытом автоматизации создания и наполнения таблиц, хранением схем и данных в JSON, а также сравнением результатов до и после трансформации.
Проект с минимальным стеком — pytest, allure и psycopg2. Статья будет полезна разработчикам и тестировщикам.
#основы
@zen_of_python
👍2