Informatika2-2014/Gyakorlat02
A MathWikiből
A lap korábbi változatát látod, amilyen Rpalovics (vitalap | szerkesztései) 2014. február 17., 10:13-kor történt szerkesztése után volt.
Tartalomjegyzék |
Elmélet
Adattípusok
- None
- numerikus
- egész
- lebegőpontos
- (complex)
- long
- boolean
- string
- tuple
x = (1,2,3,4)
- lista
x = [1, 2, 3, 4] x.append(5) len(x) x[1] = x[2]
- szótár
A = {} phonebook = {'Andrew Parson':8806336, 'Emily Everett':6784346, 'Peter Power':7658344, 'Lewis Lame':1122345} for key in phonebook: ... if key in phonebook: print phonebook[key] ...
- (halmaz)
>>> A=set([1,2,3]) >>> B=set([2,3,4]) >>> A | B set([1, 2, 3, 4]) >>> A & B set([2, 3]) >>> A - B set([1]) >>> A ^ B set([1, 4]) === I/O műveletek === ==== Output ==== Output már szerepelt a '''print''' kulcsszóval. Ez ugye bármilyen beépített típust képes volt kiírni, de ha formázni szeretnénk a kiírást akkor több dolog kell. * '''str()''' - string-et csinál más típusú objektumból, '''print valtozo''' és '''print str(valtozo)''' ekvivalens * '''repr()''' - nagyon hasonló a '''str()'''-hez, de kicsit többet mutat, próbáljátok ki: '''print str(2.5656454534543654)''' és '''print repr(2.5656454534543654)''' * A stringek '''format()''' metódusával a C '''printf''' függvényéhez kicsit hasonlóan kezelhetjük a stringeket, pl: <python> print 'Volt egyszer egy {}, elment a {}.'.format('kiskutya', 'vasarba')
- A kapcsos zárójeleket lecseréli a format-nak adott stringekkel.
- A kapcsos zárójelekbe írhatunk indexeket is, pl:
print 'Volt egyszer egy {1}, elment a {0}.'.format('vasarba', 'kiskutya')
- Az indexek után :-ot téve további formázást adhatunk a string-nek, pl:
print '{0:15} ==> {1:15} = {2:15f}'.format('i = sqrt(-1)', 'i ** i valos', 0.207879)
- Így legalább 15 karakter méretet foglalnak el a kiírásban az adott részek
Input
Input még nem szerepelt, két függvény van amit meg fogunk nézni:
- input() - Kiírja a neki adott string-et, és vár egy bementet, a visszatérési értéke a bemenet automatikusan értelmezve, pl:
m = input("Magassag centimeterben:") print "Magassag meterben:", m / 100.0
- A következõ kód viszont hibát fog okozni:
n = input("Neved:") print "Hello", n
- Ez azért van, mert az input azonnal értelmezi a beadott adatot, és a string-eket nem tudja felismerni, õ ekkor változónévre gondol.
- raw_input() - Kiírja a neki adott string-et, és vár egy bementet, a visszatérési értéke a bemenet stringként, pl:
n = raw_input("Neved:") print "Hello", n
File kezelés
A file kezelés annyiban hasonlít a C-hez, hogy írásra vagy olvasásra kell megnyitnunk a file-okat, de sokkal hozzáférhetõbb. Függvények:
- open(file_neve, megnyitasai_mod) - megnyit egy file-t, elsõ paramétere a file neve, második a megnyitási mód: 'w', 'a', 'r' a szokásosak. Pl:
f = open('test.txt', 'w')
- write() - metódusa a file objektumoknak (az elõzõ példában f file objektum), a neki adott string-et a file-ba írja. Pl:
f.write("Which witch watches which witch's watches?\nKovetkezo sor\n")
- read() - metódusa a file objektumoknak, beolvassa az egész file-t egy (potenciálisan) jó nagy string-be. Pl:
f = open('test.txt', 'r') s = f.read() print s
- readline() - metódusa a file objektumoknak, beolvas egy sort a file-ból, az újsor jelet is beolvassa, az üres sorokat '\n'-ként olvassa be. Ha a file végére ért üres sort olvas be. Pl:
line = f.readline() print line
- readlines() - metódusa a file objektumoknak, beolvassa az összes sort mint listát. Pl:
lines = f.readlines() for line in lines: print line
- Megjegyzés: a file objektumok iterálhatóak, azaz az elõzõ példa ekvivalens ezzel:
for line in f: print line
- close() - metódusa a file objektumoknak, bezárja a file-t. Pl:
f.close()
</python>