Bemenet olvasása a billentyűzetről
Sok program interaktív. Az interaktivitás támogatása azt jelenti, hogy van egy program, amely a bemenettől függően eltérően fut. A programba adatokat bemenő személy általában felhasználó, de lehet egy másik program is. Számos módon küldhet bemenetet egy programnak; két gyakori módszer egy grafikus felületen vagy egy konzolon keresztül.
Felhasználói bevitel
A billentyűzeten bevitt olvasására a Python az input()
függvényt kínálja. Az input()
beolvassa, és sztringként adja vissza azt, amit a felhasználó a billentyűzeten begépel. Íme egy példa egy személy nevének összefűzésére input()
és print()
rögzítésére, és a képernyőn való megjelenítésére:
name = input('Enter your name:')
print(name)
A függvénynek argumentumként input
átadott sztring az a kérés, amelyet a felhasználó látni fog. Ebben a példában arra kéri a felhasználót, hogy írja be a nevét ("Adja meg a nevét"). Miután a felhasználó begépeli a nevet és lenyomja az Enter billentyűt, az input
függvény visszatér. A függvény visszatérési értéke a felhasználó által beírt szöveg, és a szöveg hozzá van rendelve a névvel ellátott name
változóhoz. Ezt követően a name
függvény bemeneteként vagy argumentumaként használja a print
változót, amely a felhasználó által megadott nevet adja ki.
Az input
függvény paraméter nélkül is hívható:
print('What is your name?')
name = input()
print(name)
Ez a program szinte ugyanúgy működik, mint az első. Az eltérés az, hogy a print
(alapértelmezés szerint) sortörést fűz a kimenethez.
Számok beolvasása
Az input
függvény mindig sztringként (szövegként) adja vissza a begépelt értéket. Ennek a választásnak van értelme, mert a felhasználó bármilyen értéket megadhat. Az függvény még akkor is sztring típusúként adja vissza a bemenetet, ha az valóbaninput
érvényes számérték. Például:
x = input('Enter a number: ')
print(type(x))
A kód futtatása és az "5" érték megadása akkor is megjelenik <class 'str'>
, ha maga az érték numerikus. Az érték tényleges egész típusú változóvá alakítására az int()
függvény használható:
x = int(input('Enter a number: '))
print(type(x))
Ez a kód a <class 'int'>
kimenetet adja válaszul az „5” bemenő értékre. A float
függvény ugyanígy használható akkor, ha törtrésszel rendelkező értéket vár.
Fontos
Mi történik, a nem numerikus értéket adunk át a int()
függvénynek? Ahogy várható volt, ez hiba lenne, és futásidejű hibát okozna. A program ebben az utasításban fejeződik be; A Python interaktív konzolján kipróbálhatja magát. Az ilyen hibák kezelésére többféle megoldást is bemutatunk a későbbi modulokban.
Számok sztringekké konvertálása
A másik irány is járható. A str()
metódus egy egész vagy lebegőpontos értéket vesz fel, és sztringgé alakítja. str()
A metódus meghívására akkor van szükség, ha azt szeretné, hogy az alábbi példakód működjön. Az átalakítás biztosítja, hogy az egész szám sztring formájában összefűzve legyen a bal oldali sztringgel.
x = 5
print('The number is ' + str(x))