fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

Python | Вопросы собесов

Python | Вопросы собесов

رفتن به کانال در Telegram

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads

نمایش بیشتر

📈 تحلیل کانال تلگرام Python | Вопросы собесов

کانال Python | Вопросы собесов (@python_easy_ru) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 12 632 مشترک است و جایگاه 9 924 را در دسته فناوری و برنامه‌ها و رتبه 51 115 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 12 632 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 17 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -111 و در ۲۴ ساعت گذشته برابر 0 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 6.00% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 4.29% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 758 بازدید دریافت می‌کند. در اولین روز معمولاً 542 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 2 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند ставь, модуль, строка, docker, alice تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
“Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads”

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 18 اکتبر, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

12 632
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-257 روز
-11130 روز
آرشیو پست ها
Какая транзакция в SQL не соответствует принципу Durability в ACID, если система перезагружается во время выполнения?
Anonymous voting

На что влияет атрибут slots ? Спросят с вероятностью 3% Атрибут __slots__ используется для ограничения атрибутов, которые можно добавлять экземплярам класса, и для оптимизации использования памяти. Это особенно полезно в сценариях, где создаётся много объектов одного класса. Как он работает По умолчанию, Python использует словарь (__dict__) для хранения атрибутов экземпляров. Это даёт большую гибкость, но также приводит к значительному расходу памяти. Когда вы определяете атрибут slots в классе, вы тем самым ограничиваете класс набором конкретных атрибутов. Это убирает необходимость в словаре для хранения атрибутов и может значительно сократить использование памяти. Пример использования
class RegularClass:
    def __init__(self, x, y):
        self.x = x
        self.y = y

class SlotsClass:
   _(self, x, = ['x', 'y']

    def __init__(self, x, y):
        self.x = x
        self.y = y

# Создадим экземпляры классов
regular_instance = RegularClass(1, 2)
slots_instance = SlotsClass(1, 2)

# Попробуем добавить новый атрибут
regular_instance.z = 3  # Это работает
# slots_instance.z = 3  # Это вызовет ошибку AttributeError

print(regular_instance.__dict__)  # {'x': 1, 'y': 2, 'z': 3}
# print(slots_instance.__dict__)  # AttributeError: 'SlotsClass' object has no attribute '__dict__'

# Проверим использование памяти
import sys
print(sys.getsizeof(regular_instance))  # Выведет размер в байтах
print(sys.getsizeof(slots_instance))    # Выведет размер в байтах, который будет меньше
Объяснение 1️⃣Ограничение атрибутов: ✅В классе RegularClass можно добавлять любые атрибуты, так как используется словарь (__dict__). ✅ В классе SlotsClass можно добавлять только атрибуты, указанные в
= x
       
2️⃣Использование памяти: ✅Экземпляры класса состью 3% Азанимают меньше памяти, так как для хранения атрибутов не используется словарь. ✅Это может существенно уменьшить использование памяти в случаях, когда создаётся много экземпляров класса. Преимущества: ✅Снижение использования памяти: Экономия памяти за счёт отказа от словарей для хранения атрибутов. ✅Ускорение доступа к атрибутам: Быстрый доступ к атрибутам благодаря фиксированному набору атрибутов. Недостатки: ✅Ограничение гибкости: Невозможно добавлять новые атрибуты, не указанные в_slots__ в ✅Наследование: Классы-наследники должны явно указывать slots, чтобы сохранить оптимизацию. Атрибут slots ограничивает набор атрибутов экземпляров класса и уменьшает использование памяти за счёт отказа от словарей для хранения атрибутов. Это повышает эффективность, но уменьшает гибкость. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1096 вопроса на Python разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Какое максимально допустимое количество символов рекомендует PEP8 использовать в строке кода?
Anonymous voting

Как бы реализовал паттерн singleton ? Спросят с вероятностью 3% Паттерн Singleton используется для того, чтобы создать класс, который имеет только один экземпляр. Это полезно, когда нужно ограничить количество объектов, например, для управления ресурсами (как подключение к базе данных) или для хранения глобального состояния. Существует несколько способов реализовать Singleton. Рассмотрим один из наиболее распространенных способов - использование приватного конструктора и класса-метода для получения экземпляра.
class Singleton:
    __instance = None

    def __new__(cls, args, kwargs):
        if cls.__instance is None:
            cls.__instance = super(Singleton, cls).__new__(cls, args, kwargs)
        return cls.__instance

    def __init__(self):
        if not hasattr(self, 'initialized'):
            self.initialized = True
            # Инициализация объекта, если нужно
            self.value = 0

# Проверка работы
singleton1 = Singleton()
singleton2 = Singleton()

print(singleton1 is singleton2)  # Выведет: True
print(singleton1.value)          # Выведет: 0
singleton1.value = 42
print(singleton2.value)          # Выведет: 42
Объяснение кода 1️⃣Приватный атрибут _instance_: ✅Этот атрибут используется для хранения единственного экземпляра класса. 2️⃣Метод __new__: ✅__new__ - это метод, который создаёт новый экземпляр класса. Если экземпляр уже существует (cls.__instance не None), возвращается существующий экземпляр. ✅Если экземпляр ещё не был создан, super(Singleton, cls).__new__(cls, args, kwargs) создаёт новый экземпляр и сохраняет его в cls.__instance. 3️⃣Метод init: ✅Методреализовалвызывается каждый раз при создании экземпляра. Чтобы избежать повторной инициализации, проверяем наличие атрибута initialized. Можно также реализовать Singleton с помощью декоратора:
def singleton(cls):
    instances = {}
    def get_instance(*args, **kwargs):
        if cls not in instances:
            instances[cls] = cls(*args, **kwargs)
        return instances[cls]
    return get_instance

@singleton
class SingletonClass:
    def __init__(self):
        self.value = 0

# Проверка работы
singleton1 = SingletonClass()
singleton2 = SingletonClass()

print(singleton1 is singleton2)  # Выведет: True
print(singleton1.value)          # Выведет: 0
singleton1.value = 42
print(singleton2.value)          # Выведет: 42
Объяснение 1️⃣Декоратор singleton: ✅Хранит экземпляры класса в словаре instances. ✅Если экземпляра класса ещё нет в словаре, он создаётся и добавляется в словарь. ✅Возвращается существующий или новый экземпляр класса. Паттерн Singleton гарантирует, что класс имеет только один экземпляр. Это достигается контролем создания экземпляров через методые None), или декоратор. Singleton полезен для управления ресурсами и глобального состояния. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1096 вопроса на Python разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Какой механизм наилучше соответствует принципу инкапсуляции для скрытия данных класса?
Anonymous voting

Как связаны new и singleton ? Спросят с вероятностью 3% Методы __new__ и паттерн Singleton тесно связаны, поскольку методью 3% Мечасто используется для реализации Singleton в Python. Singleton — это паттерн проектирования, который гарантирует, что у класса будет только один экземпляр на протяжении всего жизненного цикла приложения. Метод new отвечает за создание нового экземпляра класса, и именно его можно использовать для контроля создания объектов. Метод new — это специальный метод, который вызывается перед методом init. Он отвечает за создание и возвращение нового экземпляра класса. В отличие от метода init, который инициализирует уже существующий объект, new создаёт новый объект класса. Пример использования new в Singleton Для реализации паттерна Singleton с использованием метода new нужно сделать так, чтобы метод new возвращал один и тот же экземпляр класса при каждом вызове. Пример кода:
class Singleton:
    _instance = None

    def __new__(cls, *args, **kwargs):
        if cls._instance is None:
            cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
        return cls._instance

    def __init__(self, value):
        if not hasattr(self, '_initialized'):  # Проверка на инициализацию
            self.value = value
            self._initialized = True

# Проверка работы Singleton
singleton1 = Singleton("First Instance")
print(singleton1.value)  # Вывод: First Instance

singleton2 = Singleton("Second Instance")
print(singleton2.value)  # Вывод: First Instance

print(singleton1 is singleton2)  # Вывод: True
Пошаговое объяснение: 1️⃣Статический атрибут _instance: Используется для хранения единственного экземпляра класса.
2️⃣
Метод
eton1 = Sin
✅Проверяет, существует ли уже экземпляр класса (cls._instance is None). ✅Если не существует, создаёт новый экземпляр с помощью super(Singleton, cls).new(cls, args, kwargs) и сохраняет его в cls._instance. ✅Возвращает экземпляр класса, хранящийся в cls._instance. 3️⃣Метод init: ✅Инициализирует экземпляр только один раз. Проверка if not hasattr(self, '_initialized') предотвращает повторную инициализацию объекта. Почему Singleton и new связаны ✅Контроль создания объектов: Метод new позволяет контролировать процесс создания объекта, что идеально подходит для реализации Singleton. ✅Единственность экземпляра: С помощью new можно гарантировать, что будет создан только один экземпляр класса, поскольку new может возвращать уже существующий экземпляр. ✅Разделение обязанностей: Метод new отвечает за создание (или возврат существующего) экземпляра, а метод init — за его инициализацию, если это необходимо. Метод new используется для создания новых экземпляров класса и идеально подходит для реализации паттерна Singleton, так как позволяет контролировать создание единственного экземпляра класса и возвращать его при каждом вызове. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1096 вопроса на Python разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Как декоратор Middleware в Python обычно используется в веб-фреймворках?
Anonymous voting

В чем основные принципы инкапсуляции ? Спросят с вероятностью 3% Инкапсуляция является одним из основных принципов объектно-ориентированного программирования (ООП). Она подразумевает объединение данных и методов, работающих с этими данными, в единый объект, а также скрытие внутренней реализации этого объекта от внешнего мира. Это достигается с помощью контроля доступа к атрибутам и методам класса. Основные принципы инкапсуляции включают: 1️⃣Сокрытие данных Заключается в ограничении прямого доступа к атрибутам объекта. Это достигается с помощью модификаторов доступа, таких как публичные, защищенные и приватные атрибуты. Пример: Публичные атрибуты: Доступны отовсюду.
    class MyClass:
      def __init__(self):
          self.public_attribute = "Public"
2️⃣Контроль доступа к данным Осуществляется с помощью геттеров и сеттеров (методы для получения и изменения значений атрибутов). Это позволяет добавить логику в методы доступа, например, проверку корректности значений. Пример:
class MyClass:
    def __init__(self):
        self.__private_attribute = "Initial Value"
    
    def get_private_attribute(self):
        return self.__private_attribute
    
    def set_private_attribute(self, value):
        if isinstance(value, str):
            self.__private_attribute = value
        else:
            raise ValueError("Value must be a string")

obj = MyClass()
print(obj.get_private_attribute())  # Вывод: Initial Value
obj.set_private_attribute("New Value")
print(obj.get_private_attribute())  # Вывод: New Value
3️⃣Изоляция внутренней реализации Позволяет изолировать внутреннюю реализацию объекта от внешнего мира. Внешний код использует только публичные методы для взаимодействия с объектом, не зная о деталях его внутренней структуры. Пример:
class BankAccount:
    def __init__(self, balance):
        self.__balance = balance
    
    def deposit(self, amount):
        if amount > 0:
            self.__balance += amount
        else:
            raise ValueError("Deposit amount must be positive")
    
    def withdraw(self, amount):
        if 0 < amount <= self.__balance:
            self.__balance -= amount
        else:
            raise ValueError("Invalid withdraw amount")
    
    def get_balance(self):
        return self.__balance

account = BankAccount(1000)
account.deposit(500)
print(account.get_balance())  # Вывод: 1500
account.withdraw(200)
print(account.get_balance())  # Вывод: 1300
4️⃣Повышение надежности и упрощение сопровождения кода Внутренние детали реализации могут быть изменены без влияния на внешний код. Это делает код более надежным и легким в сопровождении. Пример: Изменение внутренней реализации:
    class BankAccount:
      def __init__(self, balance):
          self.__balance = balance
      
      def deposit(self, amount):
          if amount > 0:
              self.__balance += amount
          else:
              raise ValueError("Deposit amount must be positive")
      
      def withdraw(self, amount):
          if 0 < amount <= self.__balance:
              self.__balance -= amount
          else:
              raise ValueError("Invalid withdraw amount")
      
      def get_balance(self):
          return self.__balance

  # Внешний код не изменяется
  account = BankAccount(1000)
  account.deposit(500)
  print(account.get_balance())  # Вывод: 1500
  account.withdraw(200)
  print(account.get_balance())  # Вывод: 1300
  
Инкапсуляция объединяет данные и методы в объекте, скрывая внутреннюю реализацию и предоставляя публичный интерфейс для взаимодействия. Это улучшает надежность, безопасность и сопровождение кода. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1096 вопроса на Python разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Привет! Ты сейчас ищешь работу? Если да, то у меня для тебя классные новости. Мы с Максом решили провести вебинар на тему пои
Привет! Ты сейчас ищешь работу? Если да, то у меня для тебя классные новости. Мы с Максом решили провести вебинар на тему поиска работы и того, как быстрее получить оффер. Зачем? Да потому что найти работу просто откликаясь на вакансии теперь практически нереально. На Junior вакансии откликаются по 1500 кандидатов. 1500 человек, Карл... Вопрос: Как искать работу в таких условиях? Ответ: Нужно менять подходы, и использовать новые способы поиска работы. А вот какие способы, и как искать работу в 2024 году, расскажет мой товарищ - Макс, который помогает разработчикам с трудоустройством. Он расскажет тебе как ПРАВИЛЬНО откликаться на вакансии, на что смотрят рекрутеры, и как ты должен быть упакован, чтобы получить работу в это непростое время. 🗓 Когда? Во вторник – 18 июня, в 19:00 по мск. 🎁 После регистрации он также обещал прислать: 1) Анализ рынка труда. 2) Разбор кейсов тех, кто сейчас находит работу. 3) Пошаговый план, что нужно делать, чтобы прийти к оферу. 👉 Записаться на вебинар по поиску работы.

Как Python определяет порядок разрешения методов (MRO) в множественном наследовании?
Anonymous voting

🔥Тесты для подготовки к собеседованию🔥 Выбери своё направление: 1. Frontend 2. Python 3. Java 4. Тестировщик QA 5. Data Sci
🔥Тесты для подготовки к собеседованию🔥 Выбери своё направление: 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

Какие паттерны проектирования используешь ? Спросят с вероятностью 3% Паттерны проектирования являются повторяемыми решениями общих проблем проектирования в объектно-ориентированном программировании. Они помогают создавать гибкие и легко поддерживаемые системы. Вот некоторые из наиболее часто используемых паттернов проектирования: 1️⃣Одиночка (Singleton) Цель: Гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Пример кода:
class Singleton:
    _instance = None

    def __new__(cls, *args, **kwargs):
        if not cls._instance:
            cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
        return cls._instance

singleton1 = Singleton()
singleton2 = Singleton()
print(singleton1 is singleton2)  # Вывод: True
2️⃣Строитель (Builder) Цель: Отделяет создание сложного объекта от его представления, позволяя использовать один и тот же процесс создания для различных представлений. Пример кода:
class Product:
    def __init__(self):
        self.parts = []

    def add(self, part):
        self.parts.append(part)

    def show(self):
        return ", ".join(self.parts)

class Builder:
    def build_part_a(self):
        pass

    def build_part_b(self):
        pass

class ConcreteBuilder(Builder):
    def __init__(self):
        self.product = Product()

    def build_part_a(self):
        self.product.add("Part A")

    def build_part_b(self):
        self.product.add("Part B")

    def get_product(self):
        return self.product

class Director:
    def __init__(self, builder):
        self._builder = builder

    def construct(self):
        self._builder.build_part_a()
        self._builder.build_part_b()

builder = ConcreteBuilder()
director = Director(builder)
director.construct()
product = builder.get_product()
print(product.show())  # Вывод: Part A, Part B
3️⃣Фабричный метод (Factory Method) Цель: Определяет интерфейс для создания объекта, но позволяет подклассам изменить тип создаваемого объекта. Пример кода:
class Product:
    def operation(self):
        pass

class ConcreteProductA(Product):
    def operation(self):
        return "ConcreteProductA"

class ConcreteProductB(Product):
    def operation(self):
        return "ConcreteProductB"

class Creator:
    def factory_method(self):
        pass

    def some_operation(self):
        product = self.factory_method()
        return f"Creator: The same creator's code has just worked with {product.operation()}"

class ConcreteCreatorA(Creator):
    def factory_method(self):
        return ConcreteProductA()

class ConcreteCreatorB(Creator):
    def factory_method(self):
        return ConcreteProductB()

creator_a = ConcreteCreatorA()
print(creator_a.some_operation())  # Вывод: Creator: The same creator's code has just worked with ConcreteProductA

creator_b = ConcreteCreatorB()
print(creator_b.some_operation())  # Вывод: Creator: The same creator's code has just worked with ConcreteProductB
Использование паттернов проектирования помогает создавать гибкие, масштабируемые и легко поддерживаемые системы. Они позволяют решать типичные задачи проектирования, избегая распространенных ошибок. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1096 вопроса на Python разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Почему тебя не зовут на интервью? Исправь это в своем резюме… Получить приглашение на интервью сейчас сложнее, чем с нуля обу
Почему тебя не зовут на интервью? Исправь это в своем резюме… Получить приглашение на интервью сейчас сложнее, чем с нуля обучиться разработке. И к сожалению, это не шутка. Скорее всего только 1-2% работодателей сейчас позовут тебя на интервью. Это статистика, которую мы собирали по 10.000 откликам. Но над этой цифрой можно и нужно работать. Если правильно оформить свое резюме, и поменять свою стратегию с откликами, то конверсию можно увеличить до 10%. Т.е почти в 10 раз! Как это сделать? 1. Проверить свое резюме по нашему чек листу, и внести в него то, чего будет не хватать. 2. Поменять свой подход к поиску работы, ведь одними откликами на hh.ru сыт не будешь. 18 июня, в 18:00 по москве, мы вместе с Максом из CodeReview проведем вебинар на тему эффективного поиска работы в 2024 году. На нем Макс покажет как сейчас нужно искать работу. В прямом эфире. А также раскроет что именно нужно писать в свое резюме, чтобы оно ПРОДАВАЛО. Получить чек лист по составлению резюме, а также зарегистрироваться на вебинар можно по этой ссылке. Регистрируйся сейчас и увидимся 18 июня, в 18:00 по мск. 👉 Зарегистрироваться и получить чек-лист по резюме.

Какое утверждение наилучшим образом описывает роль миксина?
Anonymous voting

Чем отличаются методы сокрытия ? Спросят с вероятностью 3% Методы и атрибуты класса могут быть скрыты от внешнего использования с помощью различных уровней сокрытия. Сокрытие реализуется с помощью соглашений об именах, а не с помощью жесткой инкапсуляции, как в некоторых других языках программирования. Основные уровни сокрытия включают публичные, защищенные и приватные методы и атрибуты. Публичные методы и атрибуты Доступны из любого места, как внутри класса, так и за его пределами. Их имена не начинаются с подчеркиваний. Пример:
class MyClass:
    def __init__(self):
        self.public_attribute = "I am public"
    
    def public_method(self):
        return "This is a public method"

obj = MyClass()
print(obj.public_attribute)  # Вывод: I am public
print(obj.public_method())   # Вывод: This is a public method
Защищенные методы и атрибуты Не предназначены для использования за пределами класса и его подклассов. Они обозначаются одним подчеркиванием в начале имени. Это всего лишь соглашение, сигнализирующее другим разработчикам, что такие методы и атрибуты не следует использовать вне класса или его подклассов. Пример:
class MyClass:
    def __init__(self):
        self._protected_attribute = "I am protected"
    
    def _protected_method(self):
        return "This is a protected method"

class SubClass(MyClass):
    def access_protected(self):
        return self._protected_method()

obj = MyClass()
sub_obj = SubClass()

print(sub_obj.access_protected())  # Вывод: This is a protected method
Приватные методы и атрибуты Скрыты от внешнего доступа и доступны только внутри самого класса. Они обозначаются двумя подчеркиваниями в начале имени. Python реализует это с помощью механизма именования, который изменяет имя метода или атрибута, добавляя к нему имя класса, чтобы затруднить доступ извне. Пример:
class MyClass:
    def __init__(self):
        self.__private_attribute = "I am private"
    
    def __private_method(self):
        return "This is a private method"
    
    def access_private(self):
        return self.__private_method()

obj = MyClass()

try:
    print(obj.__private_attribute)
except AttributeError as e:
    print(e)  # Вывод: 'MyClass' object has no attribute '__private_attribute'

try:
    print(obj.__private_method())
except AttributeError as e:
    print(e)  # Вывод: 'MyClass' object has no attribute '__private_method'

# Доступ к приватным методам через публичный метод класса
print(obj.access_private())  # Вывод: This is a private method
Почему это важно ✅Инкапсуляция: Сокрытие позволяет инкапсулировать данные и методы, защищая внутреннее состояние объекта и предотвращая неправильное использование или изменение извне. ✅Читаемость и поддерживаемость: Соглашения об именах помогают разработчикам понять, какие методы и атрибуты предназначены для внутреннего использования, а какие могут быть использованы внешними клиентами. ✅Безопасность кода: Защищенные и приватные методы и атрибуты снижают риск случайного изменения внутреннего состояния объекта, обеспечивая более надежное и предсказуемое поведение программного кода. ✅Публичные методы и атрибуты доступны отовсюду. ✅Защищенные методы и атрибуты обозначаются одним подчеркиванием и предназначены для использования только внутри класса и его подклассов. ✅Приватные методы и атрибуты обозначаются двумя подчеркиваниями и доступны только внутри класса. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1096 вопроса на Python разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых

Как оформить свой профиль на Github, чтобы работодатель тебя заметил? Хей! А ты знал, что 68% работодателей отбирают себе jun
Как оформить свой профиль на Github, чтобы работодатель тебя заметил? Хей! А ты знал, что 68% работодателей отбирают себе junior разработчиков основываясь на их портфолио на Github? Следовательно если ты никогда не занимался оформлением своего Github портфолио и профиля – тебе вероятнее всего пришлют отказ. Это работает именно у начинающих разработчиков. И что делать в таком случае? – На самом деле страшного ничего нет, нужно просто уделить время и оформить его по чек листу, который подготовил Макс из codereview со своей командой. Получить этот чек лист ты можешь по этой ссылке. Помимо чек листа, мы с Максом проведем вебинар 18 июня в 18:00 по мск, на тему того, как искать эффективно искать работу разработчиком в 2024 году. Чек лист будет доступен после регистрации на вебинар. 👉 Регистрируйся по этой ссылке.

Привет, мне нужно несколько контент-менеджеров для новых телеграм каналов в тематике программирования. Если вам интересна такая работа напиши мне @kivaiko и лучше сразу напишите какие языки программирования учите/знаете

Какой метод используется для обеспечения, что класс наследует атрибуты и методы нескольких родительских классов?
Anonymous voting

⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь: Хакинг: t.me/linuxkalii Python полная подготовка с собесу: t.me/python_job_interview Машинное обучение: t.me/ai_machinelearning_big_data АНАЛИЗ Данных на Python: t.me/data_analysis_ml Linux: https://t.me/linuxacademiya Базы данных: t.me/sqlhub Go: t.me/Golang_google C++/ t.me/cpluspluc Java: t.me/javatg C#: t.me/csharp_ci Мобильная разработка: t.me/mobdevelop Docker: t.me/+0WdB4uvOwCY0Mjdi Python: t.me/pythonl Rust: t.me/rust_code Javascript: t.me/javascriptv React: t.me/react_tg PHP: t.me/phpshka Android: t.me/android_its Big Data: t.me/bigdatai Devops: t.me/devOPSitsec Собеседования: t.me/machinelearning_interview Python лучшие книги бесплатно: t.me/pythonlbooks 💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy 😆ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: t.me/english_forprogrammers ИИ: t.me/vistehno 📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy

Как создать абстрактный класс ? Спросят с вероятностью 3% Для создания абстрактного класса используется модуль abc (Abstract Base Classes). Абстрактный класс - это класс, который не может быть инстанцирован, и который обычно содержит один или несколько абстрактных методов. Абстрактный метод - это метод, который объявлен, но не реализован в абстрактном классе. Подклассы обязаны реализовать все абстрактные методы, чтобы быть инстанцированными. Шаги для создания абстрактного класса 1️⃣Импорт модуля abc. 2️⃣Создание класса, наследующего ABC: Ваш абстрактный класс должен наследоваться от ABC, который является базовым классом для определения абстрактных классов. 3️⃣Определение абстрактных методов с помощью декоратора @abstractmethod: Методы, которые должны быть реализованы в подклассах, помечаются этим декоратором. Пример кода
from abc import ABC, abstractmethod

# Определение абстрактного класса
class Animal(ABC):
    @abstractmethod
    def make_sound(self):
        pass

    @abstractmethod
    def move(self):
        pass

# Попытка создать экземпляр абстрактного класса вызовет ошибку
try:
    animal = Animal()
except TypeError as e:
    print(e)  # Вывод: Can't instantiate abstract class Animal with abstract methods make_sound, move

# Подкласс, реализующий все абстрактные методы
class Dog(Animal):
    def make_sound(self):
        return "Woof!"

    def move(self):
        return "Runs"

# Создание экземпляра подкласса
dog = Dog()
print(dog.make_sound())  # Вывод: Woof!
print(dog.move())        # Вывод: Runs

# Подкласс, не реализующий все абстрактные методы
class Fish(Animal):
    def move(self):
        return "Swims"

# Попытка создать экземпляр неполного подкласса вызовет ошибку
try:
    fish = Fish()
except TypeError as e:
    print(e)  # Вывод: Can't instantiate abstract class Fish with abstract methods make_sound
Объяснение примера ✅Абстрактный класс Animal: Определяет два абстрактных метода make_sound и move. ✅Подкласс Dog: Реализует оба абстрактных метода, поэтому его экземпляр может быть создан. ✅Подкласс Fish: Реализует только метод move, поэтому попытка создать его экземпляр вызовет ошибку, так как метод make_sound остался нереализованным. Почему это нужно ✅Обеспечение реализации важных методов: Абстрактные классы гарантируют, что все подклассы будут содержать определенные методы, что важно для согласованности и предсказуемости поведения объектов. ✅Полиморфизм: Позволяет работать с разными объектами через единый интерфейс, что делает код гибким и расширяемым. Абстрактный класс создается с помощью модуля abc. Он содержит абстрактные методы, которые должны быть реализованы в подклассах. Это помогает гарантировать, что все подклассы будут иметь определенные методы. 👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1096 вопроса на Python разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых