Python

A Programozás Wiki wikiből

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: