English
Open in Telegram

Post🐍 Pythonda Name Mangling nima?

2 January 2026
I
Isoqjanov Ilyos | Python
🐍 Pythonda Name Mangling nima? Pythonda double underscore (__) bilan boshlanadigan atribut va metodlar tashqaridan bevosita ko‘rinmas bo‘lishi uchun avtomatik ravishda o‘zgartiriladi. Bu mexanizm name mangling deb ataladi. Python ichida atribut nomi quyidagicha o‘zgartiriladi: __attr → _ClassName__attr Shu sababli class tashqarisidan __attr ga to‘g‘ridan-to‘g‘ri murojaat qilib bo‘lmaydi. 📌 Misol class MyClass: def __init__(self): self.__private_var = 42 # double underscore obj = MyClass() # print(obj.__private_var) # ❌ AttributeError print(obj._MyClass__private_var) # ✅ 42 🧠 Izoh • Python bu orqali atributni tasodifan tashqaridan o‘zgartirib yuborishdan himoya qiladi • Bu haqiqiy private emas, lekin accidental overwrite ni oldini oladi • Name mangling asosan inheritance vaqtida foydali 🔍 Single underscore vs Double underscore • _var —> obj._var kabi murojat qilinadi, oddiy protected attribut sifatida ishlatiladi. • __var —> obj._ClassName__var kabi murojat qilinadi, chunki name mangling mavjud, murakkabroq Eslatma: Yana bir qiziq tomoni biz odatda obyektning attributi bilan ishlash uchun ishlatadigan hasattr(), getattr() va setattr() ni __var kabi attributlar bilan ishlata olmaymiz. Chunki ular pythonning ichki mexanizmida name mangling tufayli obj._ClassName__var kabi saqlangan bo'ladi. 📌 Qt signal-slot, getattr/setattr, threadlar bilan ishlaganda _var ishlatish ancha qulay. 🧩 Name Mangling bo‘yicha xulosa • Pythondagi encapsulation mexanizmi • Inheritance paytida nomlar to‘qnashuvini oldini oladi • __var ni faqat haqiqatan ichki bo‘lishi kerak bo‘lgan atributlar uchun ishlatish kerak • Aksariyat holatlarda single underscore (_var) yetarli
4 · 1.3K ·

Nearby in the feed

IIsoqjanov Ilyos | Python📌 Base64 nima va u nima uchun kerak? Base64 — bu binary (ikkilik) ma’lumotlarni matn (text) ko‘rinishida ifodalash usuli. Ya’ni rasm, video, fayl kabi ma’lumotlIIsoqjanov Ilyos | Python🐍 RxPy — Pythonda Reactive Programming Agar siz: — asinxron jarayonlar — event va real-time data — murakkab oqimlarni soddalashtirish bilan ishlayotgan bo‘lsang
this message
IIsoqjanov Ilyos | Python🐍 Scope nima? (oddiy tushuntirish bilan) Siz yozgan o‘zgaruvchi kodning hamma joyida ishlaydimi? 🤔 Yo‘q. Python har bir o‘zgaruvchiga qayerda yaratilganiga qaraIIsoqjanov Ilyos | Python🐍 Pythonda funksiya ichidan funksiya qaytarish mumkinmi? 🤯 Quyidagi kodga qarang: def create(m, n): if m == 'Max': return lambda v: v < n elif m == 'Min': retur
IIsoqjanov Ilyos | PythonIsoqjanov Ilyos | Python@python_fastapi_uz · channel · Tech
491subscribers275posts in the index
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count