Python
A Python egy általános célú, dinamikus, több paradigmát támogató, interpretált programozási nyelv. Nevét a Monty Python humoristacsoportról kapta. Nagy kifejezőereje és kiterjedt standard könyvtára miatt gyakran használják szkriptek írására.
A nyelv egyik legszembetűnőbb tulajdonsága az, hogy a program blokkjait a forráskód behúzása jelzi; az azonos mennyiségű szóközzel kezdődő programsorok számítanak egy blokknak. Más programnyelvekben is így szokás formázni a forráskódot a könnyebb olvashatóság végett, a Pythonban viszont ez kötelező. Viszont ennek egyenes következménye, hogy nem kötelező a pontosvesszővel való utasítás lezárás. További igen előnyös tulajdonsága, hogy a megoldandó probléma Python nyelven igen tömören írható le, a legkevesebb karakterrel. Ehhez az is hozzájárul, hogy az értelmező feltelepítésekor sok-sok előre megírt jól használható függvény is feltelepül. Azaz igen hatékony nyelv.
A Python dinamizmusa azt jelenti, hogy az egyes programsorok viselkedése általában futásidőben dől el, és jelentősen függ az éppen aktuális környezettől. Ez nagyobb rugalmasságot tesz lehetővé, mint a statikus nyelvek, viszont a hibák (pl. változónevek elgépelése) is később derülnek csak ki. Lehetséges például meglevő függvények (akár beépített függvények) implementációjának lecserélése - az ezeket használó egyéb kódok automatikusan az új verziót kezdik használni.
A Hello World program Python nyelven egysoros:
print "Hello, world!"
További érdekességek[szerkesztés]
A Python egyaránt használható procedurális, objektum-orientált és funkcionális módon. Érdekessége, hogy minden típus (beleértve a beépítetteket is) osztály, így az egyszerű típusok is rendelkeznek metódusokkal, valamint új osztályok származtathatók belőlük.
Az osztályok maguk is objektumok, a beépített type osztály példányai. (A type osztály saját magának egy példánya.) A type osztályból lehetséges származtatni úgynevezett metaosztályokat, amelyekkel az osztályok alapértelmezett viselkedését befolyásolhatjuk.
f = open("/etc/fstab", "r") # open, ahogy szokás bárhol
sorok = f.readlines() # összes sor beolvasása, egy sor: f.readline() lenne.
print sorok
f.close() # f lezárása
Ugyanilyen érdekes a kezelése a beimportált másik Python fájlnak is. Alábbi példában a cos változónév nem ütközik a math.cos() függvény nevével.
import math
fok = 60
cos = math.cos(fok/180.*math.pi)
print cos
Megjegyzés: a programkód futtatása helyett a Python értelmezőt simán elindítva interaktív módban indul, ami például számológépként jól használható.
Adattípusok[szerkesztés]
A Python nyelv nem követeli meg a típusdeklarációt. Minden változó valójában egy osztály példánya, és metódusokkal rendelkezik. Erről és a lehetséges metódusokról interaktív módban help(változónév) parancs segítségével győződhetünk meg.
Típusok:
- egyszerű: normál változók, melyek képesek int, float, string futásidőben változó tárolására.
- lista: például a=[] vagy a=[2, 3, "szoveg is"]. Bővítése: a.append(4)
- asszociatív tömb (dict, szótár): például b={} vagy b={'alma':'zold', 'korte':'sarga', 'letszam':4}. Bővítése: b['banan']='sarga'
- tuple: például c=(4, 5). Első ránézésre lista, de nincs módosításra metódusa.
- NoneType: d=None. Ugyanaz, mint a C nyelv esetén a Null.
a type() függvény tájékoztat, hogy az adott változó éppen milyen típusú. A szótárak esetén a szótár has_key() metódusa tájékoztat arról, hogy létezik-e ilyen eleme. Például a fenti példában b.has_key('letszam') True értékű lesz.
Bővebb információk, leírások[szerkesztés]
Parancssoros fejlesztői segédlet:
- pydoc3 builtins - összes beépített függvény
- pydoc3 modules - összes importálható modul (például: import math)
- pydoc3 <fentebb kiírt egyik modulnév> - modulról dokumentáció, példéul: pydoc zlib
Webhelyek: