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

Luokat ja oliot


Objektit ovat muuttujien ja funktioiden kapselointia yhdeksi kokonaisuudeksi. Objektit saavat muuttujansa ja funktionsa luokista. Luokat ovat pohjimmiltaan malli, jonka avulla luodaan omia olioita.

Hyvin perusluokka näyttäisi tällaiselta:

class MyClass:
    variable = "blah"

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

Selitämme myöhemmin, miksi sinun täytyy sisällyttää "self" parametriksi. Ensin voit luoda oliolle luokan (mallin) seuraavasti:

class MyClass:
    variable = "blah"

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

myobjectx = MyClass()

Nyt muuttuja "myobjectx" sisältää olion luokasta "MyClass", joka sisältää muuttujan ja funktion, jotka on määritelty luokassa "MyClass".

Objektin muuttujien käsitteleminen

Jotta voit käsitellä uuden luodun olion "myobjectx" sisällä olevaa muuttujaa, tee seuraavasti:

class MyClass:
    variable = "blah"

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

myobjectx = MyClass()

myobjectx.variable

Esimerkiksi alla oleva tulostaisi merkkijonon "blah":

class MyClass:
    variable = "blah"

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

myobjectx = MyClass()

print(myobjectx.variable)

Voit luoda useita erilaisia objekteja, jotka kuuluvat samaan luokkaan (joilla on samat määritellyt muuttujat ja funktiot). Kuitenkin jokainen objekti sisältää itsenäiset kopiot luokassa määritellyistä muuttujista. Esimerkiksi jos määrittelemme toisen olion luokalla "MyClass" ja sitten muutamme muuttujan merkkijonon:

class MyClass:
    variable = "blah"

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

myobjectx = MyClass()
myobjecty = MyClass()

myobjecty.variable = "yackity"

# Tulostetaan molemmat arvot
print(myobjectx.variable)
print(myobjecty.variable)

Objektin funktioiden käsitteleminen

Jotta voit käsitellä olion sisällä olevaa funktiota, käytä samanlaista merkintätapaa kuin käsitellessäsi muuttujaa:

class MyClass:
    variable = "blah"

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

myobjectx = MyClass()

myobjectx.function()

Yllä oleva tulostaisi viestin, "This is a message inside the class."

init()

__init__()-funktio on erityinen funktio, jota kutsutaan, kun luokka alustetaan. Sitä käytetään arvojen asettamiseen luokassa.

class NumberHolder:

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

   def returnNumber(self):
       return self.number

var = NumberHolder(7)
print(var.returnNumber()) #Tulostaa '7'

Exercise

Meillä on määriteltynä luokka ajoneuvoille. Luo kaksi uutta ajoneuvoa nimeltä car1 ja car2. Aseta car1 punaiseksi avoautoksi, joka on arvoltaan 60 000,00 $ ja nimeltään Fer, ja car2 siniseksi pakettiautoksi nimeltään Jump, joka on arvoltaan 10 000,00 $.

# 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