Fontosabb adattípusok


Standard adattípusok


Típusmegjelenítés

b, i, f, s, li, sz = (1>2), 1, 1.2, "jaj", [5,4,4.3], { "alma":800,"körte":1200,"barack":900 }

type() - bool, int, float, str, list, dict



Konverziók



https://gyires.inf.unideb.hu/EFOP344/PythonHTML/


Linkek:



Logikai típus


A logikai értékek igazak vagy hamisak lehetnek. A Python két konstanssal rendelkezik, amelyek közvetlenül logikai értékekhez rendelhetők, ezek a True és False. A kifejezések is logikai értékekké értékelődnek ki. Bizonyos helyeken (mint az if utasítások), a Python a kifejezés logikai értékre való kiértékelődését várja. Ezeket a helyeket logikai kontextusoknak nevezzük. Gyakorlatilag bármely kifejezést használhatod logikai kontextusban, és a Python megpróbálja meghatározni annak igazságértékét.


Összehasonlítások

     Művelet, függvény      Művelet rövid leírása
<, <=, >, >= kisebb mint, kisebb vagy egyenlő, nagyobb mint, nagyobb vagy egyenlő
==, != egyenlő (azonos), nem egyenlő (nem azonos) / értékadásnál csak egy = jel van /
in, not in benne van (tartalmazza), nincs benne (nem tartalmazza)

Logikai műveletek

     Művelet, függvény      Művelet rövid leírása, eredménye
x and y x és y, akkor igaz (True), ha x és y mindegyike igaz, egyébként hamis
x or y x vagy y, akkor hamis (False), ha x és y mindegyike hamis, egyébként igaz
not x nem x, akkor igaz (True), ha x hamis, egyébként hamis

Logikai műveletek (and, or, not) igazságtáblái

Logikai és, vagy, nem művelet igazságtáblája

a b a and b a or b not a
True True True True False
True False False True
False True False True
False False False False True




Numerikus típusok


A Pythonban a számok lehetnek egészek, lebegőpontosak, törtek, komplex számok. A törtek használatához importálni kell a fractions modult.


Műveletek számokkal

     Művelet, függvény      Művelet rövid leírása
x + y, x - y, x * y, x / y x és y összege, különbsége, szorzata, hányadosa
x ** y, pow(x, y) x felemelve y hatványra
x // y x és y egész hányadosa (pl. 17 // 5 = 3)
x % y x és y egészosztásának maradéka (pl. 17 % 5 = 2)
-x, +x x ellentettje (-1*x), x változatlan (1*x)
abs(x) x abszolút értéke
int(x), float(x) x-et egész számmá, lebegőpontossá alakítja
complex(re, im) komplex szám (re - valós rész, im - imaginárius rész)
c.conjugate() a c komplex szám konjugálja
divmod(x, y) a következő párt adja: (x // y, x % y)

Egész számok formázott kiírása

a, b, c, d = 2, 12, -23, 3456 # többszörös értékadás: a=2; b=12; c=-23; d=3456 ugyanez lenne a "_" jel természetesen nem lesz kiírva
print('{:5d}'.format(b)) " kiírás 5 pozícióra ___12
print('{:5d}'.format(c)) __-23
print('{:+5d}'.format(c)) # kiírja mindkét előjelet __-23
print('{:+5d}'.format(d)) +3456
print('{:5d}{:5d}{:5d}{:5d}'.format(a,b,c,d)) # változók egyszerre formázása ____2___12__-23_3456
print('{:3d}{:4d}{:5d}{:+6d}'.format(a,b,c,d)) # változók más-más formázása __2__12__-23_+3456
print('{1:3d}{0:4d}{3:5d}{2:+6d}'.format(a,b,c,d)) # változók sorrendcseréje is (0↔1 2↔3) _12___2+3456___-23

Lebegőpontos számok formázott kiírása

x, pi = -456.456, 3.141592653589793 a "_" jel természetesen nem lesz kiírva
print('{:.4f}'.format(pi)) " kerekítés 4 tizedes jegyre 3.1416
print('{:8.4f}'.format(pi)) " kiírás 8 pozícióra és kerekítés 4 tizedes jegyre __3.1416
print('{0:8.1f}{1:8.1f}'.format(x,pi)) " kiírások 8 pozícióra és kerekítés 1 tizedes jegyre __-456.5_____3.1
print('{1:8.1f}{0:8.1f}'.format(x,pi)) " mint az előbbi, csak "pi" áll elöl és "x" hátul (0↔1) _____3.1__-456.5

Matematikai függvények (math modul)
Formátum specifikáció "Mini-Nyelv"

String típus


A Python 3-ban minden karakterlánc UTF-8 kódolású Unicode karakterek sorozata.

Az UTF-8 egy változó hosszúságú kódolási rendszer a Unicode-hoz. Ez azt jelenti, hogy különböző karakterek különböző számú bájtot foglalnak. Az ASCII karakterekhez (A-Z stb.) az UTF-8 karakterenként csak egy bájtot használ. Tulajdonképpen pontosan ugyanazokat a bájtokat használja. Az UTF-8 első 128 karaktere (0–127) megkülönböztethetetlen az ASCII-étól. A „kiterjesztett latin” karakterek, mint a ñ és ö két bájtot foglalnak. A kínai karakterek, mint a 中 három bájtot foglalnak. (A ritkán használt „asztrálsík” karakterek négy bájtot.)



Értékadás, string-szeletelés

Művelet Eredmény, megjegyzés
a = "Batman", a = 'Batman' a felveszi a Batman értéket
a[0], a[5], a[1:4], a[4:6],     a[3:], a[:3], a[::2] 'B', 'n', 'atm' / a 4. nincs! /, 'an',     'man', 'Bat', 'Bta' / minden 2.! /
a[-3], a[-6],     a[-3:], a[:-3],     a[::-1] 'm', 'B',     'man', 'Bat',     'namtaB' / fordítva! /
b, c, d = a + "72", a*3, "" a b 'Batman72' lesz, a c 'BatmanBatmanBatman', a d pedig '' / többszörös értékadás! /
len(a), len(b), len(c), len(d) a stringek hossza: 6, 8, 18, 0 / a d üres string /
ord("C"), chr(67) "C" kódja 67, 67 kódú karakter "C"

String trükkök

s = '''Ez egy
többsoros string lesz. Itt el-
választottam.'''

működne három macskakörömmel is


Néhány gyakori sztring metódus

s.lower(), s.upper() az s sztring kisbetűs, nagybetűs verziójával tér vissza
s.strip('par'), s.lstrip('par'),s.rstrip('par') a whitespace karaktereket levágja a sztring mindkét feléről, elejéről, végéről (ha paramétert kap, ezt vágja le a szélekről)
s.isalpha(), s.isdigit(), s.isspace()... megnézi, hogy a sztring vmennyi karaktere az adott karakterosztályba tartozik-e
s.startswith('other'), s.endswith('other') megnézi, hogy a sztring a 'other' sztringgel kezdődik-e ill. végződik-e
s.find('other')
  vagy
s.index('other')
a sztringben szerepel-e a 'other' sztring (nem reguláris kifejezésként adjuk meg)
ha igen, akkor az első előfordulás első karakterének indexével tér vissza
ha nem, akkor -1 a visszatérési érték
s.replace('old', 'new') a sztringben az 'old' vmennyi előfordulását 'new'-ra cseréli
s.count('E') megszámolja a sztringben a "E" betűk számát
s.split('delim') a sztringet az adott szeparátor mentén részsztringek listájára bontja a szeparátor nem reguláris kifejezés. Példa: 'aaa,bbb,ccc'.split(',') – ['aaa', 'bbb', 'ccc']
ha csak s.split()-et írunk, akkor a whitespace karakterek mentén bontja fel a sztringet
s.join(list) a split() ellentéte, egy lista elemeit kapcsolja össze egy adott szeparátorral (ez lesz az s sztring)
példa: '---'.join(['aaa', 'bbb', 'ccc']) -> aaa---bbb---ccc

gyires.inf.unideb.hu - stringek
Formátum specifikáció "Mini-Nyelv"


Lista / tömb típus


A Python lista (tömb) adatokat tárol, amelyeknek nem kell azonos típusúnak lennie. Az egyes eltárolt adatelemek a listában sorban vannak: megőrzik azt a sorrendet, ahogyan betettük őket. Az elemekre hivatkozni pedig indexekkel tudunk, indexekkel jelöljük meg, melyik elemre van szükségünk. Ezek mindig természetes számok, 0-tól a lista mérete–1-ig.


Lista létrehozása, hossza, módosítása, szeletelése, függvények, stb.


Néhány gyakori lista metódus

ls.append(elem) elem beszúrása az ls lista végére, nem tér vissza a listával, a listát helyben módosítja
ls.insert(index, elem) elem beszúrása az adott index pozícióra, a tőle jobbra lévő elemeket eggyel jobbra mozgatja
ls.remove(elem) az adott elem első előfordulását eltávolítja a listából, ha nincs benne, akkor ValueErrorkivétel lép fel
ls.pop(index) az adott indexű elemet eltávolítja s ezzel az elemmel tér vissza
   ha az indexet nem adjuk meg, akkor a legjobboldalibb elemmel tér vissza
ls.extend(ls2) a ls2-ben lévő elemeket az ls lista végére beszúrja, a + ill. a += operátorok hasonlóan működnek
ls.index(elem) adott elem keresése a listában
   ha benne van, akkor az elem indexével tér vissza
   ha nincs benne, akkor ValueErrorkivételt dob (elkerüléséhez használjuk az „in” operátort)
ls.sort() helyben rendezi a listát (nem tér vele vissza)
ls.reverse() helyben megfordítja az elemek sorrendjét (nem rendez!, nem tér vissza a listával)

Példák listákra


[3,4] + [1,2] – [3,4,1,2]
for e in ls:
	print(e,end=",") – 1,2,"Béla",3.1459,
for e in ls[::2]:
	print(e,end=",") – 1,"Béla",
"Béla" in ls – True


gyires.inf.unideb.hu - listák