Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Osztályok és objektumok


Az objektumok a változók és függvények egyetlen entitásba való kapszulázásai. Az objektumok változóikat és függvényeiket az osztályokból szerzik. Az osztályok lényegében sablonok az objektumok létrehozásához.

Egy nagyon alapvető osztály így nézne ki:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

Később elmagyarázzuk, miért kell belefoglalni a "self" paramétert. Először is, hogy az előző osztályt (sablont) hozzárendeld egy objektumhoz, a következőt kell tenned:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

Most a "myobjectx" változó az "MyClass" osztály egy objektumát tartalmazza, amely tartalmazza az "MyClass"-ként definiált osztály változóját és függvényét.

Objektumváltozók elérése

Ahhoz, hogy hozzáférj az újonnan létrehozott "myobjectx" objektum belső változójához, a következőt kell tenned:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

myobjectx.variable

Tehát például az alábbi kód kiírná a "blah" sztringet:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

print(myobjectx.variable)

Több különböző objektumot is létrehozhatsz, amelyek ugyanazon osztályba tartoznak (ugyanazokkal a változókkal és függvényekkel). Azonban minden objektum tartalmazza a függvények független másolatait, amelyeket az osztályban meghatározunk. Például, ha egy másik objektumot definiálunk az "MyClass" osztály alapján, majd megváltoztatjuk a fentebb definiált változóban lévő sztringet:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()
myobjecty = MyClass()

myobjecty.variable = "yackity"

# Ezután nyomtasd ki mindkét értéket
print(myobjectx.variable)
print(myobjecty.variable)

Objektumfüggvények elérése

Ahhoz, hogy hozzáférj egy függvényhez egy objektumon belül, használj hasonló jelölést mint a változóeléréshez:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

myobjectx.function()

A fenti példa kiírja az üzenetet: "This is a message inside the class."

init()

Az __init__() függvény egy speciális függvény, amely akkor hívódik meg, amikor az osztályt inicializálják. Az osztályon belüli értékek hozzárendelésére szolgál.

class NumberHolder:

   def __init__(self, number):
       self.number = number

   def returnNumber(self):
       return self.number

var = NumberHolder(7)
print(var.returnNumber()) #Kiírja: '7'

Exercise

Egy járművekre vonatkozó osztályt definiáltunk. Hozz létre két új járművet, amelyeket car1-nek és car2-nek hívnak. Állítsd be, hogy car1 egy piros kabrió legyen 60.000,00 dollár értékben Fer névvel, és car2 egy kék furgon legyen Jump névvel 10.000,00 dollár értékben.

# define the Vehicle class class Vehicle: name = "" kind = "car" color = "" value = 100.00 def description(self): desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value) return desc_str # your code goes here # test code print(car1.description()) print(car2.description()) # define the Vehicle class class Vehicle: name = "" kind = "car" color = "" value = 100.00 def description(self): desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value) return desc_str # your code goes here car1 = Vehicle() car1.name = "Fer" car1.color = "red" car1.kind = "convertible" car1.value = 60000.00 car2 = Vehicle() car2.name = "Jump" car2.color = "blue" car2.kind = "van" car2.value = 10000.00 # test code print(car1.description()) print(car2.description()) #test_output_contains('Fer is a red convertible worth $60000.00.') #test_output_contains('Jump is a blue van worth $10000.00.') success_msg("Great job!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy