Valinnaisia argumentteja sisältävien luokkien suurin ongelma on, että voi olla vaikea määrittää käännöshetkellä, tarvitaanko tietty argumentti vai ei. Tämä voi johtaa virheisiin luokkaa käytettäessä, esimerkiksi jos argumentti puuttuu.
class MyClass:
def __init__(self, arg1, arg2=None):
self.arg1 = arg1
self.arg2 = arg2
Tämä koodi luo luokan nimeltä MyClass. __init__-metodi ottaa kaksi argumenttia, arg1 ja arg2. Jos arg2:lle ei ole määritetty arvoa, sen oletusarvo on Ei mitään. __init__-menetelmä asettaa self.arg1:n arvoksi arg1 ja self.arg2:n arvoksi arg2.
Sarjat
Pythonissa luokat ovat tapa ryhmitellä toisiinsa liittyviä muuttujia ja toimintoja yhteen. Luokka voidaan ajatella mallina objektien luomiseen. Luokat voidaan määrittää useilla tavoilla, mutta yleisin tapa on käyttää avainsanaa luokka, jota seuraa luettelo muuttujien ja funktioiden määritelmistä.
Kun luokka luodaan, sille annetaan automaattisesti nimi (tässä esimerkissä kutsumme luokkaamme "henkilöksi"). Luokan nimeä käytetään myös objektin nimenä, joka luodaan luokkaa ilmennettäessä. Luodaksemme objektin Henkilö-luokkamme avulla käytämme seuraavaa koodia:
>>> tuo henkilö >>> henkilö.nimi 'John'
argumentit
Pythonin argumentit käsitellään funktiokutsulla. Ensimmäinen argumentti on funktion nimi, jota seuraa argumentit.