முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 7 · பாடம் 1 இன் 4பாடத்திட்டத்தில் 25/36~14 min
தொகுதி பாடங்கள் (1/4)

வகுப்புகள் மற்றும் நிகழ்வுகள்

வகுப்பு என்பது தரவு (பண்புகள்) கொண்ட பொருட்களை உருவாக்குவதற்கான ஒரு வரைபடமாகும். மற்றும் நடத்தை (முறைகள்). நிகழ்வு என்பது இதிலிருந்து உருவாக்கப்பட்ட ஒரு உறுதியான பொருளாகும் வகுப்பு.

குறைந்தபட்ச தொடரியல்

Python
class Cane:
    def __init__(self, nome, eta):
        self.nome = nome
        self.eta = eta

    def abbaia(self):
        return f"{self.nome} dice WOOF!"

# creazione di istanze
fido = Cane("Fido", 3)
luna = Cane("Luna", 5)

fido.nome       # 'Fido'
fido.abbaia()   # 'Fido dice WOOF!'

__init__: "கட்டமைப்பாளர்"

நீங்கள் உருவாக்கும்போது __init__ முறை தானாக எனப்படும் உதாரணம் (Cane("Fido", 3)). பண்புகளை துவக்க இது பயன்படுகிறது.

தொழில்நுட்ப ரீதியாக இது ஒரு கட்டமைப்பாளர் அல்ல (பொருள் ஏற்கனவே உருவாக்கப்பட்டுள்ளது __new__), ஆனால் இது நீங்கள் ஆரம்ப நிலையை அமைக்கும் இடம்.

self: முதல் அளவுரு

self என்பது முறை அழைக்கப்பட்ட நிகழ்வின் குறிப்பு. இது ஒரு மாநாடு (ஒரு முக்கிய வார்த்தை அல்ல) மற்றும் எப்போதும் முதல் அளவுரு முறைகள்.

Python
fido.abbaia()
# equivalente a Cane.abbaia(fido)
# Python passa fido come self automaticamente

உதாரணம் vs வகுப்பு பண்புக்கூறுகள்

Python
class Cane:
    specie = "Canis familiaris"   # attributo di CLASSE (condiviso)

    def __init__(self, nome):
        self.nome = nome           # attributo di ISTANZA (per ognuno)

fido = Cane("Fido")
luna = Cane("Luna")

fido.nome       # 'Fido'        (istanza)
luna.nome       # 'Luna'        (istanza)
fido.specie     # 'Canis familiaris'  (cercato sulla classe)
Cane.specie     # 'Canis familiaris'

பல முறைகள் மற்றும் நிலை

Python
class Contatore:
    def __init__(self, inizio=0):
        self.valore = inizio

    def incrementa(self, di=1):
        self.valore += di

    def reset(self):
        self.valore = 0

c = Contatore()
c.incrementa()
c.incrementa(di=5)
c.valore       # 6
c.reset()
c.valore       # 0

உங்கள் முறை

உடற்பயிற்சி#python.m7.l1.e1
முயற்சிகள்: 0ஏற்றுகிறது…

பண்புகளைச் சேமிக்கும் __init__(self, x, y) உடன் `பாயிண்ட்` வகுப்பை வரையறுக்கவும். x^2 + y^2 இன் வர்க்க மூலத்தை வழங்கும் `distance_from_origin` முறையைச் சேர்க்கவும். `p = Point(3, 4)` ஐ உருவாக்கி, `p.distance_from_origin()` ஐ மதிப்பிடவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

math.sqrt(self.x ** 2 + self.y ** 2)

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

மதிப்பாய்வு பயிற்சி

உடற்பயிற்சி#python.m7.l1.e2
முயற்சிகள்: 0ஏற்றுகிறது…

__init__(self, balance=0) உடன் `BankAccount` என்பதை வரையறுக்கவும் மற்றும் self.balance ஐ மாற்றியமைக்கும் முறைகள் `வைப்பு(தொகை)`, `திரும்ப (தொகை)`. `a = BankAccount(100)` உருவாக்கவும், டெபாசிட் 50, திரும்பப் பெறவும் 30. `a.balance` என்பதை மதிப்பிடவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

self.balance += வைப்புத் தொகை.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

கூடுதல் சவால்

உடற்பயிற்சி#python.m7.l1.e3
முயற்சிகள்: 0ஏற்றுகிறது…

Define a class `Rectangle` with a constructor `__init__(self, width, height)` to set width and height, and a method `area(self)` that returns the product of width and height. Instantiate a rectangle with width `4` and height `5` storing it in `rect`, and evaluate `rect.area()`.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

பகுதிக்குள் (சுய) பண்புகளை அணுக சுயத்தைப் பயன்படுத்த நினைவில் கொள்ளுங்கள்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்