العربية
فتح في Telegram

منشور🐍 Python: @classmethod nimaga kerak?

2 ديسمبر 2025
I
Isoqjanov Ilyos | Python
🐍 Python: @classmethod nimaga kerak? Pythonda obyektlar va classlar qanday ishlashini tushunish — toza va mantiqli kod yozishning asosiy qismidir. Bugun @classmethod haqida sodda qilib tushuntiramiz. 🔹 Obyekt atributi vs Class atributi • Obyekt atributi — har bir yaratilgan obyektga tegishli (self). • Class atributi — butun classga tegishli, barcha obyektlar ishlatadi (cls). Demak class ham obyekt ham o'zining attributiga ega ekan, nega endi ularni o'zining metodlariga ega bo'lolmas ekan, albatta uning ham imkoni bor. Agar biz odatdagi metod yaratsak u metod obyektga tegishli bo'ladi va obyekt yaratilgandan keyin ishlaydi, @classmethod orqali metod yaratsak esa, bu metod class ga tegishli bo'ladi va uni obyekt yaratilmasdan oldin ham ishlata olamiz. Yana yuqoridagi postda aytdikki, class atributini obyekt metodi yoki attributi orqali o'zgartirishni imkoni yo'q, agar o'zgartiramiz desak obyekt o'zgartirish o'zrniga o'zida shunaqa attribut yaratib oladi. Lekin biz class attributini @classmethod orqali hosil qilingan metod orqali o'zgartirishimiz mumkin, chunki bu metod class ga tegishli. 🔹 @classmethod nima qiladi? @classmethod — classga tegishli metod. U obyektga emas, classning o‘ziga ishlaydi, shuning uchun u birinchi argument sifatida: cls qabul qiladi. Obyekt orqali chaqirilsa ham, baribir class bilan ishlaydi, obyekt bilan emas. 🔍 Misol: class Counter: count = 0 # sinf atributi def __init__(self): Counter.count += 1 @classmethod def get_count(cls): return cls.count • count → class atributi • get_count() → class metodi • obyektlar → class atributidan foydalana oladi • obyektlar → class metodidan ham foydalana oladi (lekin metod baribir cls bilan ishlaydi) 📌 Qisqa xulosa • Obyekt → class atributidan foydalana oladi. • Xuddi shunday obyekt → class metodidan (@classmethod) ham foydalana oladi. • Lekin @classmethod obyektga emas, classga tegishli.
2 · 1.3K ·

بجوارها في الخلاصة

IIsoqjanov Ilyos | Python🔵 Python: @property — faqat private yoki protected atributlar uchun emas! Ko‘pchilikda shunday tushuncha bor: “@property faqat private yoki protected atributlarIIsoqjanov Ilyos | Python🔥 Obyekt class atributini o‘zgartirsa nima bo‘ladi? 👉 Ko‘pchilik o‘ylagandek, obyekt orqali class atributiga qiymat bersangiz, class atributi o‘zgarmaydi. Aksin
هذه الرسالة
IIsoqjanov Ilyos | PythonIsoqjanov Ilyos | Python@python_fastapi_uz · قناة · التقنية
491مشتركون275منشورات في الفهرس
خلاصة المجتمع فتح في Telegram

خلاصة عامة مفتوحة من فهرس البحث ChatCrawler — «Google لـ Telegram العام»؛ تُحدَّث كلما زحفنا إلى المجتمع. الأوقات بتوقيت UTC.

محتوى عام فقط، وAPI Telegram الرسمي. عن المشروع · الأسئلة الشائعة · حدود الفهرس · إزالة صفحة · الدليل · بحث · كيف نحسب