Tulostus ja Tiedon Kysyminen

  

Pythonissa print-funktio on perustyökalu tiedon tulostamiseen konsoliin.

1. Yhden ja usean rivin tulostus:

print("Tämä on yhden rivin tulostus.")

# Usean rivin tulostus
print("""Tämä on
usean rivin
tulostus.""")

Kuten esimerkissä huomataan yhden rivin tulostus merkitään lainaiusmerkeillä. Usean rivin tulostus merkitään kolmella lainausmerkillä. Samalla tavalla kuten usean rivin kommentti.

2. "-merkin ja '-merkin erot ja käyttö:

Voit käyttää joko yksittäisiä (' ') tai kaksois ("- ") lainausmerkkejä merkkijonojen ympärillä Pythonissa. Jos merkkijonosi sisältää yksittäisen lainausmerkin, voit kiertää ongelman käyttämällä kaksois lainausmerkkejä, ja päinvastoin.

print("Tämä on 'lainausmerkeissä' oleva sana.")
print('Tämä on "lainausmerkeissä" oleva sana.')

3. Muuttujien lisääminen tulostukseen + ja , merkillä:

Pythonissa muuttujat voidaan lisätä merkkijonoihin käyttäen + tai , merkkiä.

nimi = "Anna"

# Käyttämällä + -merkkiä (muuttuja on oltava merkkijono)
print("Hei, " + nimi + "!")

# Käyttämällä , -merkkiä (muuttuja voi olla minkä tahansa tyyppinen)
luku = 3
print("Suosikkinumerosi on", luku)

Käytössä on kuitenkin jotain eroja. Kun käytetään +-merkkiä yhdistämään merkkijonot, kaikkien yhdistettävien osien tulee olla merkkijonoja. Jos haluat yhdistää numeron (kokonaisluku, liukuluku jne.) merkkijonoon, sinun on ensin muunnettava numero merkkijonoksi str()-funktiolla. Pilkkua käyttetäessä tätä muunosta ei tarvitse tehdä.

Esimerkki:

luku = 5
print("Arvoksi saatiin: " + str(luku)) # +-merkkiä käytettäessä luku muutetaan merkkijonoksi

print("Arvoksi saatiin:", luku) # käytetään pilkua str-funktiota ei tarvita 

Toinen muistettava asia on, että kun käytetään ,-merkkiä print-funktion sisällä erottamaan arvoja, Python lisää automaattisesti välilyönnin niiden arvojen välille.

Esimerkki:

nimi = "Anna"
ikä = 30
print("Nimi:", nimi, "Ikä:", ikä) #,-merkkilisää välilyönnin 
print("Nimi: "+ nimi+ " Ikä: "+ ikä) # välilyönnin joutuu lisäämään käsin 

4. print-funktio ja f-string:

F-string (format string) on Python 3.6:ssa ja sitä uudemmissa versioissa käytettävä tapa muotoilla merkkijonoja. Se on erittäin kätevä ja tehokas.

Esimerkki:

ikä = 30
print(f"Sinun ikäsi on {ikä} vuotta.")

5. Tulostuksen muotoilu:

Voit määrittää, kuinka muuttujat näytetään tulostuksessa:

# Kaksi desimaalia
luku = 3.14159
print(f"Pi on noin {luku:.2f}.")

Pythonissa f-stringien avulla voidaan muotoilla merkkijonojen tulostusta. Muotoilu tehdään määrittämällä haluttu formaatti aaltosulkeiden {} sisällä, joissa normaalisti ilmoitetaan muuttuja, jonka arvon haluat tulostaa.

Muotoilukoodissa:

  • : aloittaa muotoilusäännöt.
  • .2 määrää, että tulostetaan kaksi desimaalia.
  • f tarkoittaa, että tulostettava arvo on liukuluku (floating point).

Yhdistettynä: {luku:.2f} tulostaa muuttujan luku arvon kahdella desimaalilla.

Muutamia muita esimerkkejä:

Kokonaislukujen muotoilu:

Jos haluat tulostaa kokonaisluvun tietyllä määrällä nollia edellä:

numero = 5
print(f"{numero:04}")  # tulostaa "0005"

 Prosenttimuotoilu:

Voit tulostaa luvun prosentteina:

osuus = 0.45
print(f"{osuus:.2%}")  # tulostaa "45.00%"

Tasaus:

Jos haluat, että merkkijono tulostuu tietyllä leveydellä ja on tasattu tietyllä tavalla:

nimi = "Anna"
print(f"{nimi:<10}")  # vasemmalle tasaus, tulostaa "Anna      "
print(f"{nimi:>10}")  # oikealle tasaus, tulostaa "      Anna"
print(f"{nimi:^10}")  # keskitasaus, tulostaa "   Anna   "

Format-funktion käyttö

Ennen f-stringien esittelyä Python 3.6:ssa, .format()-metodi oli suosittu tapa muotoilla merkkijonoja Pythonissa. Vaikka f-stringit ovat nykyaikaisempia ja usein lyhyempiä kirjoittaa, .format() on edelleen voimakas työkalu ja sitä käytetään monissa vanhemmissa Python-sovelluksissa.

Peruskäyttö

Käytät aaltosulkeita {} merkitsemään paikkoja, joihin haluat sijoittaa .format()-metodin argumentteja:

tervehdys = "Hei, {}!".format("Anna")
print(tervehdys)  # Tulostaa: "Hei, Anna!"

Indeksin käyttö

Voit käyttää indeksejä määrittämään, mihin järjestykseen argumentit sijoitetaan:

teksti = "{1} on {0}.".format("maailma", "Tämä")
print(teksti)  # Tulostaa: "Tämä on maailma."

Avainsanat

Voit myös käyttää avainsanoja määrittämään, mitä argumenttia käytetään:

teksti = "{adjektiivi} {substantiivi}.".format(substantiivi="koti", adjektiivi="kaunis")
print(teksti)  # Tulostaa: "kaunis koti."

Numeroiden muotoilu

Kuten f-stringeissä, voit käyttää muotoilukoodia .format()-metodin kanssa:

luku = 3.14159
print("Pi on noin {:.2f}.".format(luku))  # Tulostaa: "Pi on noin 3.14."

Tasaus ja leveys

Voit määrittää leveyden ja tasaussuunnan samalla tavalla kuin f-stringeissä:

nimi = "Anna"
print("|{:<10}|".format(nimi))  # "|Anna      |"
print("|{:>10}|".format(nimi))  # "|      Anna|"
print("|{:^10}|".format(nimi))  # "|   Anna   |"

Vaikka f-stringit saattavat olla intuitiivisempia monissa tapauksissa, .format()-metodilla on omat etunsa, ja se on hyvä ymmärtää, varsinkin kun työskentelet vanhemman Python-koodin kanssa.

Tiedon Kysyminen: input-funktio

Voit kysyä käyttäjältä tietoa input-funktion avulla:

nimi = input("Mikä on nimesi? ")
print(f"Hei, {nimi}!")

Syötteen muuttaminen numeroksi:

Oletuksena input palauttaa merkkijonon. Jos haluat käsitellä syötteen numerona, sinun on muunnettava se. Liukuluvuksi muunto onnistuu float-funktiolla :

luku = input("Anna luku: ")
luku = float(luku)  # Muuntaa merkkijonon liukuluvuksi

Tai kokonaisluvuksi int-funktiolla :

ikä = input("Kuinka vanha olet? ")
ikä = int(ikä)  # Muuntaa merkkijonon kokonaisluvuksi

Luvuista kerrotaan lisää seuraavassa tutoriaalissa.