Informatika2-2014/Gyakorlat02
A MathWikiből
(Változatok közti eltérés)
1. sor: | 1. sor: | ||
− | == Elmélet | + | == Elmélet== |
+ | |||
+ | === Adattípusok === | ||
*None | *None | ||
*numerikus | *numerikus | ||
41. sor: | 43. sor: | ||
>>> A ^ B | >>> A ^ B | ||
set([1, 4]) | 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') | ||
+ | </python> | ||
+ | * A kapcsos zárójeleket lecseréli a '''format'''-nak adott stringekkel. | ||
+ | * A kapcsos zárójelekbe írhatunk indexeket is, pl: | ||
+ | <python> | ||
+ | print 'Volt egyszer egy {1}, elment a {0}.'.format('vasarba', 'kiskutya') | ||
+ | </python> | ||
+ | |||
+ | * Az indexek után :-ot téve további formázást adhatunk a string-nek, pl: | ||
+ | <python> | ||
+ | print '{0:15} ==> {1:15} = {2:15f}'.format('i = sqrt(-1)', 'i ** i valos', 0.207879) | ||
+ | </python> | ||
+ | * Í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: | ||
+ | <python> | ||
+ | m = input("Magassag centimeterben:") | ||
+ | print "Magassag meterben:", m / 100.0 | ||
+ | </python> | ||
+ | |||
+ | * A következõ kód viszont hibát fog okozni: | ||
+ | <python> | ||
+ | n = input("Neved:") | ||
+ | print "Hello", n | ||
+ | </python> | ||
+ | * 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: | ||
+ | <python> | ||
+ | n = raw_input("Neved:") | ||
+ | print "Hello", n | ||
+ | </python> | ||
+ | |||
+ | ==== 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: | ||
+ | <python> | ||
+ | f = open('test.txt', 'w') | ||
+ | </python> | ||
+ | |||
+ | * '''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: | ||
+ | <python> | ||
+ | f.write("Which witch watches which witch's watches?\nKovetkezo sor\n") | ||
+ | </python> | ||
+ | |||
+ | * '''read()''' - metódusa a file objektumoknak, beolvassa az egész file-t egy (potenciálisan) jó nagy string-be. Pl: | ||
+ | <python> | ||
+ | f = open('test.txt', 'r') | ||
+ | s = f.read() | ||
+ | print s | ||
+ | </python> | ||
+ | |||
+ | * '''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: | ||
+ | <python> | ||
+ | line = f.readline() | ||
+ | print line | ||
+ | </python> | ||
+ | |||
+ | * '''readlines()''' - metódusa a file objektumoknak, beolvassa az összes sort mint listát. Pl: | ||
+ | <python> | ||
+ | lines = f.readlines() | ||
+ | for line in lines: | ||
+ | print line | ||
+ | </python> | ||
+ | |||
+ | * Megjegyzés: a file objektumok iterálhatóak, azaz az elõzõ példa ekvivalens ezzel: | ||
+ | <python> | ||
+ | for line in f: | ||
+ | print line | ||
+ | </python> | ||
+ | |||
+ | * '''close()''' - metódusa a file objektumoknak, bezárja a file-t. Pl: | ||
+ | <python> | ||
+ | f.close() | ||
+ | </python> | ||
+ | |||
</python> | </python> | ||
== Feladatok == | == Feladatok == | ||
+ | === === |
A lap 2014. február 17., 10:13-kori változata
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>