353-sahifa
Python 3
340
chop etish (id (pt1), id (pt2), id (pt3) # obejcts idlarini bosib chiqaradi)
del pt1
del pt2
del pt3
Yuqoridagi kod bajarilganda, u quyidagi natijani beradi -
3083401324 3083401324 3083401324
Nuqta yo'q qilindi
Eslatma: Ideal holda, siz sinflaringizni alohida faylda belgilab, keyin ularni import qilishingiz kerak
ularni import bayonotidan foydalanib asosiy dastur faylingizda saqlang .
Yuqoridagi misolda, nuqta klassi ta'rifi point.py va u erda mavjud
unda boshqa hech qanday bajariladigan kod mavjud emas.
#! / usr / bin / python3
import nuqtasi
p1 = nuqta. Nuqta ()
Sinf meros
Noldan boshlashning o'rniga, oldindan mavjud bo'lganidan kelib chiqib, sinf yaratishingiz mumkin
yangi sinf nomidan keyin ota-ona sinfini Qavslar ichiga ro'yxatdan o'tkazish orqali sinf.
Bola klassi uning ota-onasining xususiyatlarini meros qilib oladi va siz ushbu xususiyatlardan foydalanishingiz mumkin
go'yo ular bolalar sinfida aniqlanganidek. Bolalar klassi ma'lumotlar a'zolarini ham bekor qilishi mumkin
usullari ota-onadan.
Sintaksis
Yaratilgan sinflar ularning ota-onalariga o'xshab e'lon qilinadi; ammo, asosiy sinflar ro'yxati
meros olish sinf nomi keyin berilgan -
sinf SubClassName (ParentClass1 [, ParentClass2, ...]):
'Ixtiyoriy sinf hujjatlarining satri'
sinf_suite
Misol
#! / usr / bin / python3
sinf Ota:
# ota-klassni aniqlang
parentAttr = 100
def __init __ (o'zi):
Python 3
341
print ("Ota-onalar konstruktorini chaqirish")
def parentMethod (o'zi):
bosib chiqarish ('Ota-onalar usuliga qo'ng'iroq qilish')
def setAttr (self, attr):
Parent.parentAttr = attr
def getAttr (o'zi):
chop etish ("Ota-ona atributi:", Parent.parentAttr)
sinf bola (Ota-ona): # bolalar sinfini belgilang
def __init __ (o'zi):
print ("Bola konstruktorini chaqirish")
def childMethod (o'zini):
print ('Bolani chaqirish usuli')
c = bola ()
# bola namunasi
c.childMethod () # bola o'z usulini chaqiradi
c.parentMethod () # usuli ota-onalarning usulini chaqiradi
c.setAttr (200) # yana ota-onalar usuliga qo'ng'iroq qilish
c.getAttr ()
# yana ota-onalar usulini chaqiring
Yuqoridagi kod bajarilganda, u quyidagi natijani beradi -
Bola konstruktorini chaqirish
Bola usulini chaqirish
Ota-ona usulini chaqirish
Ota atributi: 200
Shunga o'xshab, siz bir nechta ota-onalar sinfidan quyidagi sinfni haydashingiz mumkin:
A sinf:
# A sinfingizni aniqlang
.....
sinf B:
# B kalsiyalaringizni aniqlang
.....
sinf C (A, B): # A va B kichik sinflar
.....
Python 3
342
Ikkala sinfning o'zaro bog'liqligini tekshirish uchun issubclass () yoki isinstance () funktsiyalaridan foydalanishingiz mumkin
va holatlar.
Do'stlaringiz bilan baham: |