Python 3/Luokka
< Python 3
Siirry navigaatioon
Siirry hakuun
Koodi[muokkaa | muokkaa wikitekstiä]
Koodi, jossa on kaksi luokkaa. Ei ole niin monimutkainen kuin miltä näyttää.
class Square:
def __init__(self, width, height):
self.width, self.height = width, height # voi tehdä samalla rivillä
def draw(self, char):
for i in range(self.height):
print (self.width * char)
class Triangle:
def __init__(self, side):
self.side = side
def draw(self, char):
width = self.side
for i in range(self.side):
width -= 1
indentation = self.side - width # indentation on kolmion kavennus
print (indentation * ' ' + width * char * 2)
Kutsuminen[muokkaa | muokkaa wikitekstiä]
1. suoraan
Square(20, 10).draw('O')
Triangle(10).draw('X')
2. olion, ilmentymän (engl. instance) avulla
sq = Square(20, 10)
sq.draw('O')
tr = Triangle(10)
tr.draw('X')
Tulostaa: Neliön ja sen perään kolmion.
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOO
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXX
XXXXXXXXXX
XXXXXXXX
XXXXXX
XXXX
XX
Ohjeteksti[muokkaa | muokkaa wikitekstiä]
Luokalle, samoin kuin funktioille ja moduuleille, voi kirjoittaa ohjetekstin yksittäisenä merkkijonona välittömästi luokan sisälle.
class Square:
"""Luokka neliöiden tulostamiseen.
Parametrit:
width: neliön leveys
height: neliön korkeus
"""
def __init__(self, width, height):
self.width, self.height = width, height
def draw(self, char):
"""Piirtää neliön annetulla merkillä.
Parametrit:
char: merkki, jolla neliö tulostetaan
"""
for i in range(self.height):
print (self.width * char)
Ohjetekstiin pääsee käsiksi help-komennolla komentotulkistaa, pydoc-työkalulla ja luokan jäsenestä __doc__. Tässä oletetaan, että koodi tallennettiin tiedostoon nimeltä shapes.py.
>>> help(shapes.Square)
Tulostaa
Help on class Square in module shapes: class Square(builtins.object) | Square(width, height) | | Luokka neliöiden tulostamiseen. | | Parametrit: | width: neliön leveys | height: neliön korkeus | | Methods defined here: | | __init__(self, width, height) | Initialize self. See help(type(self)) for accurate signature. | | draw(self, char) | Piirtää neliön annetulla merkillä. | | Parametrit: | char: merkki, jolla neliö tulostetaan | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined)
Ohjetekstien muotoiluun on monia erilaisia käytäntöjä.
Aiheesta muualla[muokkaa | muokkaa wikitekstiä]
- Python-kielisen_ohjelmoinnin_perusteet (Wikiopiston opintopiirin opiskeluohjeita)
Johdanto: | |
---|---|
Tietotyypit ja tietorakenteet: |
Luvut - Merkkijonot - Lista - Monikko (tuple) - Sanakirja - Joukko (set) |
Ohjausrakenteet | |
Muut kielen rakenteet: |
Moduuli - Luokka - Funktio - Virheidenhallinta - Tiedosto |
Graafinen käyttöliittymä: | |
Harjoitustehtäviä: | |
Lisätiedot ja lähteet: |