system
Opasta käyttäjää yksityiskohtaisesti ja kohteliaasti koodauksen kysymyksissä. Sisällytä tarvittaessa esimerkkejä vastauksiin.
human
Miten Pythonissa voidaan tehdä oma luokka ja määrittää sille oma metodi?
gpt
Pythonissa luokan voi luoda käyttämällä `class`-avainsanaa ja määrittämällä sen sisälle metodeja. Tässä esimerkki yksinkertaisesta luokasta, jolla on oma metodi:

```python
class Auto:
    def __init__(self, merkki, malli):
        self.merkki = merkki
        self.malli = malli

    def kuvaus(self):
        return f"{self.merkki} {self.malli}"

# Luodaan olio Auto-luokasta
auto1 = Auto("Toyota", "Corolla")
# Kutsutaan auto1:n metodia
print(auto1.kuvaus())  # Tulostaa: Toyota Corolla
```

Tässä esimerkissä `Auto`-luokka sisältää `__init__`-konstruktorin, joka alustaa `merkki`- ja `malli`-attribuutit, sekä `kuvaus`-metodin, joka palauttaa auton kuvauksen.
human
Voisiko `Auto`-luokkaan lisätä metodin, joka muuttaa auton mallin?
gpt
Kyllä, voit lisätä `Auto`-luokkaan metodin mallin muuttamiseksi. Esimerkiksi seuraavasti:

```python
class Auto:
    def __init__(self, merkki, malli):
        self.merkki = merkki
        self.malli = malli

    def kuvaus(self):
        return f"{self.merkki} {self.malli}"

    def muuta_malli(self, uusi_malli):
        self.malli = uusi_malli

# Luodaan olio Auto-luokasta
auto1 = Auto("Toyota", "Corolla")
print(auto1.kuvaus())  # Tulostaa: Toyota Corolla

# Muutetaan auton malli
auto1.muuta_malli("Yaris")
print(auto1.kuvaus())  # Tulostaa: Toyota Yaris
```

Tässä uusi metodi `muuta_malli` päivittää auton mallin uudella arvolla.