cookie

We use cookies to improve your browsing experience. By clicking «Accept all», you agree to the use of cookies.

avatar

Программистика

Лучший канал по python Админ: @JeyRahol

Show more
Advertising posts
2 578
Subscribers
+6924 hours
+1897 days
+74030 days

Data loading in progress...

Subscriber growth rate

Data loading in progress...

🖼️ Библиотека Python: PyO3 PyO3 — это мощная библиотека, которая позволяет разработчикам создавать расширения для Python на языке Rust, обеспечивая высокую производительность и безопасность типов, характерные для Rust. Это делает возможным писать критически важный по производительности код на Rust и легко интегрировать его в Python-проекты, сочетая лучшее из обоих миров: скорость и безопасность Rust с гибкостью и широкими возможностями Python. Чтобы продемонстрировать работу PyO3, необходимо иметь установленный Rust и Cargo, а также Python. В этом примере мы создадим простую функцию на Rust, которая будет вызываться из Python. Эта функция будет принимать строку и возвращать ее длину. ⏺Установите PyO3, добавив его в зависимости в файле Cargo.toml вашего Rust проекта:
[package]
name = "pyo3_example"
version = "0.1.0"
edition = "2018"

[lib]
name = "pyo3_example"
crate-type = ["cdylib"]

[dependencies.pyo3]
version = "0.15.0"
features = ["extension-module"]
⏺В файле src/lib.rs создайте функцию на Rust, которая будет доступна из Python:
use pyo3::prelude::*;
use pyo3::wrap_pyfunction;

#[pyfunction]
fn string_length(s: String) -> PyResult<usize> {
    Ok(s.len())
}

#[pymodule]
fn pyo3_example(_py: Python, m: &PyModule) -> PyResult<()> {
    m.add_function(wrap_pyfunction!(string_length, m)?)?;
    Ok(())
}
Этот код определяет функцию string_length, которая принимает строку и возвращает ее длину. Декоратор #[pyfunction] и функция wrap_pyfunction! используются для регистрации этой функции в модуле Python. ⏺Соберите ваш Rust проект, используя Cargo:
cargo build --release
⏺После успешной сборки в директории target/release появится файл с расширением .so (для Linux и macOS) или .dll (для Windows), который можно импортировать в Python. Например, если ваш проект называется pyo3_example, имя файла будет libpyo3_example.so или pyo3_example.dll. ⏺Импортируйте и используйте ваш модуль в Python:
import sys
# Добавьте путь к скомпилированному файлу в список путей поиска
sys.path.append("path/to/your/target/release")

import pyo3_example

print(pyo3_example.string_length("Hello, Rust!"))
Этот Python скрипт импортирует модуль, созданный на Rust, и вызывает функцию string_length, передавая ей строку. В результате будет выведена длина строки. ⛓ Ссылка на документацию @programistica // #Library
Show all...
🔥 5 1🤝 1
Photo unavailableShow in Telegram
💻 Вопрос из собеседования: Что такое функция map в Python? map() — это функция, которая принимает другую в качестве аргумента, а затем применяет её ко всем элементам итератора, передаваемым ей в качестве другого аргумента. Функция вернет объект map, поэтому нам нужно преобразовать его в объект списка.
def number_exponential(num):
   return num**2

number_list = [2,3,4,5]

print(list(map(number_exponential, number_list)))
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥
@programistica // #jobs
Show all...
🔥 7👍 2 1
Photo unavailableShow in Telegram
👀 Книга: Программирование на Python для абсолютных новичков ⏺Знакомство с Python ⏺Основы ⏺Работа с данными ⏺Управление потоком ⏺Работа с файлами ⏺Что такое функции ⏺Импорт модулей И многое другое @programistica // #doc
Show all...
👍 6 1🔥 1
Photo unavailableShow in Telegram
🔥Тесты для подготовки к собеседованию🔥 Выбери своё направление: 1. Frontend 2. Python 3. Java 4. Тестировщик QA 5. Data Science 6. DevOps 7. C# 8. С/C++ 9. Golang 10. PHP 11. Kotlin 12. Swift
Show all...
🔥 2
🖼️ Библиотека Python: FastAPI FastAPI — это современный, быстрый веб-фреймворк для создания API с Python 3.6+ на основе стандартных типов Python, который позволяет легко создавать высокопроизводительные веб-приложения. Он автоматически генерирует интерактивную документацию API и поддерживает асинхронные запросы, что делает его идеальным выбором для построения сложных веб-сервисов и приложений. ⚙️ Пример использования
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Привет, мир FastAPI!"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}
В этом примере мы создаем экземпляр FastAPI и определяем два маршрута: ⏺read_root() обрабатывает GET-запросы к корневому пути ("/") и возвращает JSON с приветственным сообщением. ⏺read_item() обрабатывает GET-запросы к пути /items/{item_id}, принимая параметр item_id и опциональный запрос q. Этот маршрут возвращает JSON с item_id и q. ✔️ Установка
pip install fastapi uvicorn
Ссылка на документацию @programistica // #Library
Show all...
3👍 2🔥 1
⚙️ Наследование в Python: Основы и Примеры Наследование является одним из фундаментальных принципов объектно-ориентированного программирования (ООП). В Python наследование позволяет одному классу (дочернему классу) наследовать атрибуты и методы другого класса (родительского класса), обеспечивая тем самым повторное использование кода и упрощение его структуры. Основы наследования В Python класс может наследовать функциональность другого класса, причем не только одного, но и нескольких классов, что называется множественным наследованием. Родительский класс также известен как базовый класс или суперкласс, а класс, который наследует его свойства, называется производным классом или подклассом.
class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        raise NotImplementedError("Subclass must implement abstract method")

class Dog(Animal):
    def speak(self):
        return f"{self.name} says Woof!"

class Cat(Animal):
    def speak(self):
        return f"{self.name} says Meow!"
В приведенном выше примере класс Animal является базовым классом с методом speak, который предназначен для переопределения в подклассах. Классы Dog и Cat наследуют класс Animal и реализуют свою версию метода speak. Переопределение методов Подклассы могут переопределить методы базового класса. Это означает, что дочерний класс может иметь метод с таким же именем, как и в родительском классе, но с другой или дополненной функциональностью. Функция super() Функция super() в Python используется для вызова методов родительского класса из дочернего класса. Это особенно полезно в конструкторе __init__, когда необходимо инициализировать атрибуты базового класса.
class Bird(Animal):
    def __init__(self, name, can_fly):
        super().__init__(name)
        self.can_fly = can_fly
Множественное наследование Python поддерживает множественное наследование, позволяя классу наследовать функциональность более чем одного класса.
class A:
    def method(self):
        print("A method")

class B:
    def method(self):
        print("B method")

class C(A, B):
    pass

obj = C()
obj.method()
В случае множественного наследования Python следует порядку разрешения методов (MRO - Method Resolution Order), чтобы определить, какой метод вызывать. В приведенном примере будет вызван метод из класса A, так как он указан первым в списке наследования класса C. Заключение Наследование в Python предоставляет мощный инструмент для создания структурированного и легко поддерживаемого кода. Оно позволяет разработчикам расширять и модифицировать существующий код без его дублирования, что ведет к более чистой и эффективной реализации программ. @programistica // #article
Show all...
👍 8 3🔥 2
Photo unavailableShow in Telegram
Разбираем как решать задачи на LeetCode ✅ Примеры решений ✅ Пояснения Выбери своё направление: 1. Python 2. JavaScript 3. Java 4. C# 5. Golang 6. С/C++ 7. PHP 8. Kotlin 9. Swift
Show all...
3
Photo unavailableShow in Telegram
💻 Вопрос из собеседования: Как перевернуть генератор? Можно перевернуть генератор в Python, используя функцию reversed(). Вот пример, который демонстрирует это:
my_list = [1, 2, 3, 4, 5]
my_generator = (x**2 for x in my_list)

for item in reversed(list(my_generator)):
    print(item)
В этом примере мы используем функцию reversed() вместе с функцией list(), чтобы создать обратный список элементов, сгенерированных генератором. Затем мы используем этот список с циклом for для перебора элементов в обратном порядке. Если вы работаете с большими наборами данных, может быть полезно использовать обратное итерирование без использования list(), чтобы избежать создания полной копии. Вот пример, который демонстрирует это:
my_list = [1, 2, 3, 4, 5]
my_generator = (x**2 for x in my_list)

for item in reversed(tuple(my_generator)):
    print(item)
Здесь мы используем функцию reversed() вместе с функцией tuple() для обратного итерирования через генератор без создания полной копии.|
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥
@programistica // #jobs
Show all...
👍 9 2🔥 2
Photo unavailableShow in Telegram
👀 Книга: введение в основные библиотеки и фреймворки Python ⏺DATA Science ⏺Machine Learning ⏺MLOPS ⏺Explanable AI ⏺TEXT Processing ⏺Image Processing И многое другое @programistica // #doc
Show all...
👍 5 2🔥 2