Pythonni mustaqil



Download 2,79 Mb.
bet62/109
Sana31.12.2021
Hajmi2,79 Mb.
#223336
1   ...   58   59   60   61   62   63   64   65   ...   109
Bog'liq
PYTHONNI MUSTAQIL O‘RGANAMIZ

O‘zgarmas (konstanta)lar
O‘zgarmaslar, odatda, modul darajasida e’lon qilinadi va faqat bosh harflar bilangina yoziladi, so‘zlar esa tagchiziq bilan ajratiladi. Masalan: MAX_OVERFLOW, TOTAL kabi.





Vorislikni loyihalashtirish

86

Albatta klass yoki klass ekzemplyarining (bundan keyin atribut) metodi qanday bo‘lishini – om-maviy yoki noommaviy – hal qilib oling. Agar shubhalanayotgan bo‘lsangiz, noommaviy atributni tanlang. Keyinchalik uni ommaviy qilish teskarisini qilishdan osonroq kechadi.


Ommaviy atributlar – boshqa dasturchilar ham foydalanishlari mumkin bo‘lgan atributlar, siz esa teskari nomutanosiblikning bo‘lmasligiga ishonch hosil qilishingiz kerak. Noommaviy atributlar esa, o‘z navbatida, 3-shaxslar tomonidan qo‘lanilishga mo‘ljallanmagan, shuning uchun siz ularni o‘zgartirmasligingiz yoki o‘chirmasligingizga kafolat bera olmaysiz.
Biz “yashirin atribut” atamasini qo‘llamaymiz, chunki Pythonda bunaqasi bo‘lmaydi.
Klasslar atributlarining yana bir tipi API klass ostilariga tegishli bo‘lib, ko‘pincha ularni boshqa tillarda protected deb ham nomlashadi.
Ba’zi klasslar shunday loyihalashtiriladiki, ulardan bazaviy klass imkoniyatlarini kengaytiradi-gan yoki yangilaydigan boshqa klasslar vorisligi mumkin bo‘ladi. Siz mana shunday klassni loy-ihalashtirayotganingizda o‘zingiz uchun qaysi atributlar ommaviy, qaysilari API klass ostiga te-gishli va qaysilari faqat bazaviy klass tomonidan qo‘llanilishini belgilab oling va aniq ko‘rsating.
Endi tavsiyalarni shakllantirib olamiz:


  • Ochiq atributlar nomining boshlanishida tagchiziqqa ega bo‘lmasliklari kerak;




  • Agar ochiq atribut nomi tilning kalit so‘zi bilan bir xillikka ega bo‘lsa, nomning oxirida bitta tagchiziq qo‘shing. Bu nomni o‘zgartirish yoki abbreviaturalardan foydalanishdan ko‘ra ma’qulroq (lekin bu qoidaning istisno holatlari ham mavjud – klassni anglatadigan argu-ment, ayniqsa, klass metodining birinchi argumenti (class method) cls nomiga ega bo‘lishi lozim);




  • Oddiy ommaviy atributlarni tushunarli nomlar bilan nomlang va murojat qilish va o‘zgarti-rishning murakkab metodlarini yozmang. (accessor/mutator, get/set). Yodingizda bo‘lsin, Pythonda ularni, kerak bo‘lsa, keyinchalik qo‘shish juda oson. Bunday holda atributga muro-jaat sintaksisining ortida funksional amallarni yashirish uchun xususiyatlar (properties)ni qo‘llang.

1-qo‘shimcha: xususiyatlar (properties) faqat yangi uslubdagi klasslar uchun ishlaydi (py-thon 3 da barcha klasslar shnday klasslardir).


2-qo‘shimcha: amaliy funksionallik bilan bog‘liq chetki kutilmagan holatlardan qutulishga harakat qiling; umuman olgand,a keshlash kabi ba’zi holatlarning zarari yo‘q.
3-qo‘shimcha: hisoblash ishlariga ko‘p vaqt sarflaydigan amallardan imkon qadar ozroq foydalaning, chunki atributlar yordamida yozilayotganligi sababli murojaat (nisbatan) tez bajarilayotgandek tassurot qoldirishi mumkin.


  • Agar siz klassingizni boshqa klasslar meros qilib olmasligini, lekin klass ostilar ba’zi atributlarga vorislik qilishlarini istab loyihalashtirayotgan bo‘lsangiz, nomlarning boshla-nishida ikkita tagchiziq qo‘shing va oxirida birorta ham tagchiziq qo‘ymang. Pythondagi nomlarni o‘zgartirish mexanizmi shunday ishlaydiki, klass nomi xuddi shunday atribut nomiga qo‘shiladi, bu esa klass ostilarning atributlari bilan bir xil nom bo‘lishining oldini olishga asos bo‘ladi.

1-qo‘shimcha: e’tiborli bo‘ling, agar klass osti xuddi shunday nom va atribut nomiga ega



87

bo‘lib qolsa, yana nomlar bir xilligi (nomlar konflikti) kelib chiqishi mumkin.


2-qo‘shimcha: nomlarni o‘zgartirish mexanizmi __getattr__() ni sozlash yoki u bilan ish-lashni qiyinlashtirishi mumkin, lekin u juda yaxshi hujjatlashtirilgan, qo‘lda erkin va samara-li boshqarilishi mumkin.

3-qo‘shimcha: ushbu mexanizm hammaga ham yoqavermaydi, shuning uchun nomlar bir xilligidan qutulish va bu atributlarga murojaat qilish imkoniyatiga ega bo‘lish orasida kom-promissga erishishga harakat qiling.



Download 2,79 Mb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   109




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish