Python вопросы с собеседований
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
Ko'proq ko'rsatish📈 Telegram kanali Python вопросы с собеседований analitikasi
Python вопросы с собеседований (@python_job_interview) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 24 940 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 5 493-o'rinni va Rossiya mintaqasida 26 832-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 24 940 obunachiga ega bo‘ldi.
09 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -148 ga, so‘nggi 24 soatda esa -7 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 6.02% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 3.02% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 503 marta ko‘riladi; birinchi sutkada odatda 754 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 7 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent github, api, собеседование, git, docker kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Вопросы с собеседований по Python
@workakkk - админ
@machinelearning_interview - вопросы с собесдований по Ml
@pro_python_code - Python
@data_analysis_ml - анализ данных на Python
@itchannels_telegram - 🔥 главное в ит
РКН: clck.ru/3FmrFd”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 10 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
Ответ
Позволяет снизить объём памяти, потребляемой экземплярами класса, ограничивая количество атрибутов ими поддерживаемых.
По умолчанию классы используют словарь для хранения атрибутов — это позволяет модифицировать набор атрибутов объекта прямо в ходе исполнения программы. Однако такой подход оказывается затратным для объектов, набор атрибутов которых невелик и/или ограничен. Это становится особенно заметно, когда создаётся большое количество экземпляров.
Поведение по умолчанию можно изменить, задав slots при определении класса. В slots могут быть перечислены атрибуты для значений которых требуется зарезервировать место (с точки зрения CPython в объекте класса резервируется место для массива указателей на Python-объекты). При этом ни dict, ни weakref для экземпляров автоматически созданы не будут (даже если в качестве значения строки указать пустую строку).
В качестве значения slots может быть указана строка, объект поддерживающий итерирование, или последовательность строк с именами атрибутов, использующихся экземплярами.
Слоты реализуются при помощи создания дескриптора для каждого из перечисленных атрибутов.
class Ordinary(object):
"""Экземпляры этого класса могут дополняться атрибутами
во время исполнения.
"""
class WithSlots(object):
__slots__ = 'static_attr'
a = Ordinary()
b = WithSlots()
a.__dict__ # {}
b.__dict__ # AttributeError
a.__weakref__ # None
b.__weakref__ # AttributeError
a.static_attr = 1
b.static_attr = 1
a.dynamic_attr = 2
b.dynamic_attr = 2 # AttributeError
Попытки присвоить экземпляру атрибут, который не был перечислен в slots будет поднято исключение AttributeError.
2.3 Если требуется динамическое назначение атрибутов, следует указать в перечислении слотов '__dict__'.
Не имея атрибута weakref, экземпляры классов со slots не поддерживают слабые ссылки на себя.
2.3 Если требуется поддержка слабых ссылок, следует указать в перечислении слотов '__weakref__'.
Область действия слотов ограничено классом, в котором они определены, поэтому наследники (если конечно они не определили собственные слоты) будут иметь dict.
Если наследники тоже определяют слоты, то в перечислении должны содержаться лишь дополнительные. В последующих версиях возможно будет реализована проверка на совпадение имён.
Непустой slots не может быть использован для классов, наследующихся от встроенных типов переменной длины, например long, str и кортеж. При попытке сделать это будет поднято исключение TypeError.
Слот может принимать перечисления с «нестроками». Например, могут использоваться отображения, однако в будущих версиях значения по ключам могут быть наделены неким определённым смыслом.
2.6 Если назначается class, следует проследить, что для обоих классов определены одинаковые слоты.
@python_job_interviewfrom functools import reduce
def add_three(x,y):
return x + y
li = [1,2,3,5]
reduce(add_three, li)
#=> 11
Возвращается 11, что является суммой 1+2+3+5.
@python_job_interviewli1 = [['a'],['b'],['c']]
li2 = li1
li1.append(['d'])
print(li2)
#=> [['a'], ['b'], ['c'], ['d']]
II) Создайте мелкую копию оригинала. Ее можно создать с помощью конструктора list() или mylist.copy().
Мелкая копия создает новый объект, но заполняет его ссылками на оригинал. Таким образом, добавление нового объекта в исходный список li3 не отразится в li4, а вот изменение объектов в li3 — отразится:
li3 = [['a'],['b'],['c']]
li4 = list(li3)
li3.append([4])
print(li4)
#=> [['a'], ['b'], ['c']]
li3[0][0] = ['X']
print(li4)
#=> [[['X']], ['b'], ['c']]
III) Создайте глубокую копию. Это делается с помощью copy.deepcopy(). Оригинал и копия полностью независимы, а изменения в одном не оказывают никакого влияния на другой:
import copy
li5 = [['a'],['b'],['c']]
li6 = copy.deepcopy(li5)
li5.append([4])
li5[0][0] = ['X']
print(li6)
#=> [['a'], ['b'], ['c']]
@python_job_interview
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
