Programozás Python 1. rész
Kell tanulni Python?
Sok programozó úgy vélik, hogy csak meg kell tanulni a „klasszikus” programozási nyelvek, mint a Java, C ++, mert más nyelven nem lenne képes, hogy ugyanazt a lehetőségeket. Az utóbbi időben azonban nem volt a meggyőződés, hogy a programozó kívánatos, hogy többet, mint egy nyelvet, mert bővíti látókörét azáltal, hogy több kreatív problémamegoldás és versenyképesség javítása a munkaerő-piacon.
Ismerje meg, hogy a tökéletesség a két nyelv, mint a Java és C ++ meglehetősen nehéz, és hosszú időt vesz igénybe; Emellett sok szempontból a következő nyelveken ellentmondásosak. Ugyanakkor, Python ideális a szerepe a második nyelv, ahogy azonnal hasonlítható köszönhetően a meglévő tudás a PFSZ, és az a tény, hogy a funkciók nem ütköző, hanem egymást kiegészítő szerzett tapasztalatok munka közben más programozási nyelveket.
Ha a programozó csak most kezdik útjukat a szoftverfejlesztés terén, ez egy ideális Python „bevezető” programozási nyelv. Mivel a rövidség, ez lehetővé teszi, hogy gyorsan sajátítsák el a nyelvi szintaxis, és a hiányzó „örökség” formájában fejlődött az évek során, az axiómák is hamar elsajátíthatják a PFSZ. Ezen tényezők miatt a Python «tanulási görbe” meglehetősen rövid, és a programozó képes lesz mozogni esettanulmányok kereskedelmi projektek.
Ezért bárki volt az olvasó ezt a cikket - egy tapasztalt programozó vagy egy újonc a szoftverfejlesztés területén, a válasz arra a kérdésre, hogy az e szakasz címét kell meggyőző „igen”.
Ez a cikksorozat célja, hogy segítsen leküzdeni a sikeres „tanulási görbe”, következetesen tájékoztatás, kezdve a legalapvetőbb elveit a nyelvet, hogy a fejlett képességeit tekintve az integráció más technológiákkal. Az első cikk az alapvető funkciók és Python szintaxis. A jövőben, akkor nézd meg a bonyolultabb aspektusait dolgozni ezzel a népi nyelv, különösen az objektum-orientált programozás Python.
Python Architecture
Bármely nyelv, ez nem számít - programozási vagy kommunikáció áll legalább két részből áll - a szókincs és a szintaxis. A Python szervezi pontosan ugyanaz, amely a szintaxis képződését kifejezések alkotják a futtatható program, és a szókincs - egy sor funkciót standard könyvtárak és a plug-inek.
Mint már említettük, a Python szintaxisa tömör elég, különösen, ha összehasonlítjuk a Java, C ++. Egyrészt - ez jó, mert az egyszerűbb szintaxist, annál könnyebb megtanulni és a legkevesebb hibát tudod, hogy a felhasználás során. Azonban ezek a nyelvek az a hátránya - fel lehet használni, hogy át a legegyszerűbb információkat, és lehetetlen, hogy kifejezzék összetett struktúrát.
Python, ez nem így van, mivel ez a nyelv egyszerű, de egyszerű. Az a tény, hogy a Python nyelv egy magasabb absztrakciós szinten fent például, mint a Java és C ++, és lehetővé teszi, hogy küldjön az azonos mennyiségű információt egy kisebb térfogatú a forráskódot.
Python is egy általános célú nyelv, így lehet használni szinte minden területen a szoftverfejlesztés (önálló, kliens-szerver, a Web-alkalmazás) bármely témakörben. Ezen túlmenően, a Python könnyen integrálható a meglévő komponensek, amely lehetővé teszi, hogy beágyazza Python egy előre megírt alkalmazás.
Egy másik összetevője a Python siker - ez a plug-inek, mind a standard és egyedi. Normál Python bővítő modulok - ez tökéletesen és többször tesztelt alkalmassága hogy megfeleljen a kihívásoknak, hogy a felmerülő minden fejlesztési projekt, gépsorokat és szövegek, interakció az operációs rendszer támogatása web-alapú alkalmazások. Ezek a modulok is Pythonban így már a legfontosabb tulajdonság - a cross-platform, amely lehetővé teszi a biztonságos és gyorsan át projektek egyik operációs rendszerből a másikba.
Ha a szükséges funkciókat nem volt a Python Standard Library, akkor létrehozhatunk saját plug-in későbbi ismételt használatát. Érdemes megjegyezni, hogy a bővítő modulok számára Python, akkor létre nem csak a nyelvet Python, hanem más programozási nyelveket. Ebben az esetben van lehetőség hatékonyabb végrehajtására erőforrás-igényű feladatok, mint komplex tudományos számítástechnika, de elvesztette az előnye, cross-platform, ha a bővítő modul nyelv önmagában nem egy cross-platform, mint a Python.
Python runtime
Mint tudod, minden cross-platform programozási nyelvek épülnek ugyanazt a modellt: ez tényleg egy hordozható forráskód és futtatási környezetet (futtatási környezet), amely nem ruházható át, és külön minden egyes platformon. Ebben a végrehajtási környezet tipikusan tartalmaz egy tolmács, amely végrehajtja a forráskódot, és a különböző szükséges eszközök a kérelemhez csatolni - a debugger, disassembler stb
A Java futtatási környezetet tartalmaz továbbá egy fordítóprogram, mert a forráskód kell összeállítani a byte-kód a Java-gép. A Python futtatási környezetet kizárólag a tolmács, ami szintén a fordító lefordítja azonban Python forráskód közvetlenül a gépi kódot a cél platform.
Abban a pillanatban, három jól ismert végrehajtásának futási környezetet Python: cpython, Jython és Python.NET. Mint azt sejteni lehet a cím, az első közeg végre a C, a második a Java nyelvet, és az utolsó - a .NET platform.
Szerda Jython kivitelezés - egy Python végrehajtási dolgozó Java-gép (JVM). Ez támogat minden változata a JVM, verzió óta 1.2.2 (jelenlegi változata Java - 1,6). Együttműködik Jython kell a Java-gép (Java runtime) és egy bizonyos tudás a Java programozási nyelv. Legyen képes írni a forráskódot a Java nyelv nem szükséges, de akkor kell foglalkozni c JAR-fájlok és a Java-kisalkalmazások, valamint dokumentációt javadoc formátumban.
Melyik verzió a környezet választani - attól függ a programozó preferenciák általában ajánlott tartani a számítógépen, és a cpython, Jython, és mivel azok nem ütköznek egymással, hanem kiegészítik egymást. Cpython IDE gyorsabban fut, mivel nincs köztes szint a JVM; Ezen túlmenően, a frissített változata a Python először megjelent a cpython környezetben. Azonban Jython segítségével bármilyen Java osztály, mint egy bővítő modul és minden platformon, amelyek esetében a JVM végrehajtását.
Mindkét runtimes kiadott engedély alapján összeegyeztethetőnek ismert GPL licenc, így lehet használni, hogy dolgozzon mind a kereskedelmi és ingyenes vagy szabad szoftver. A legtöbb bővítő modulok Python is jön GPL licenc alatt, és szabadon felhasználható bármely projektben, de vannak a kereskedelmi terjeszkedés vagy kiterjesztése a szigorúbb engedélyeket. Ezért ha Python egy kereskedelmi projekt, meg kell tudni, hogy milyen korlátozások vannak a engedélyeket a csatlakoztatott bővítő modulok.
Az első lépések a Python
Mielőtt elkezdi használni Python, telepíteni kell a futtató környezet - ez a cikk a cpython és ennek megfelelően python interpreter. Vannak különböző telepítési módszerek: a haladó felhasználók maguk állítanak össze Python nyilvános forráskód letölthető a weboldalán www.python.org kész bináris az operációs rendszert, végül sok Linux disztribúció előre telepített tolmács Python. Ez a cikk használja a Python 2.x verziójú Windows, de a példák is futtatható bármely változata Python.
Miután a telepítőprogram telepíteni Python futtatható fájlokat a megadott mappában, ellenőrizze az értékeket a következő rendszerváltozókkal:
- PATH. Ez a változó tartalmaznia kell az elérési utat a könyvtárba, ahol telepítette Python, hogy találtam egy operációs rendszer.
- PYTHONHOME. Ez a változó tartalmaznia kell csak az elérési utat a könyvtárba, ahol telepítette Python. Ebben a könyvtárban kell tartalmaznia lib alkönyvtárban, amelyben keresni szeretne a standard Python modulokat.
- PYTHONPATH. Változó listáját tartalmazó könyvtárak plug-in, amely csatlakozik a Python (lista elemeit kell elválasztani az elválasztó rendszer).
- PYTHONSTARTUP. Egy választható változó, amely az útvonalat a Python script végre kell hajtani minden indításakor egy interaktív Pyton ülésén.
A parancssor a kagyló szerkezete a következő.
PYTHONHOME \ python (opcionális) [-c paranccsal | egy script fájlt | -]
Interaktív Python mód
Ha futtatja a tolmács, de sem a parancsot, vagy egy script fájlt, akkor kezdődik egy interaktív módban. Ebben az üzemmódban fut egy különleges Python Shell, ahol megadhatja az egyes parancsok vagy kifejezést, és értékük kerül kiszámításra azonnal. Ez nagyon hasznos, ha tanul Python, mint akkor azonnal ellenőrizni a helyességét a design.
Az érték a vizsgált kifejezést tároljuk egy speciális változó úgynevezett „Single aláhúzás” (_), úgy, hogy lehet használni a következő kifejezéseket. Vége az interaktív munkamenet lehet billentyűkombináció a Ctrl-Z Windows vagy a Ctrl-D a Linux operációs rendszer.
A telepítés ellenőrzéséhez és Python funkcionalitás a következő parancsokat:
c: \> python- v
c: \> python -c „import ideje; print time.asctime () "
A -v megjeleníti a verzió a Python végrehajtását, és befejezi a munkát, és a második parancs megjeleníti a képernyőn az érték a rendszer időt.
Python szintaxis alapjai
A következő egy nagyon fontos szempont, hogy furcsának tűnhet, hogy a programozók, akik a tanulás Python, mint második nyelv. Az a tény, hogy a Python nem egy karakter, aki felelős lenne elválasztására kifejezések egymástól a forráskódot, mint például egy pontosvesszővel (;) a C ++ és Java. A pontosvessző lehetővé teszi, hogy megosztani néhány utasítást, ha azok ugyanazon a fizikai vonalon. Van is ilyen konstrukció, nadrágtartó <>, utasításokat, amely lehetővé teszi, hogy összekapcsolják egyetlen blokk-csoport.
Az adattípusok használt Python
Az adattípusok használt Python, továbbá egybeesik más nyelveken - egész és valós adattípusok; emellett támogatott összetett adattípus - egy valós és egy képzetes része (egy példa a szám - 1.5J vagy 2j, ahol J a -1 négyzetgyöke). Python támogatási tétel, amely lehet zárt egyszeres, kettős vagy hármas idézetek, a sorok, mint a Java, megváltoztathatatlan-objektumok, azaz a nem lehet megváltoztatni az értékét a létrehozása után.
Vannak Python és logikai típusú int c e két változatának értékek - igaz és hamis. Azonban a régebbi verziói Python ilyen típusú adatok nem volt, és emellett bármilyen típusú adatot lehet hozni egy logikai értéke igaz vagy hamis. Minden szám nullától eltérő, nem üres karakterláncot vagy adatgyűjtés kezelt, mint igaz a, és az üres vagy nulla értéket adnak kifejezést, hogy hamis. Ez a funkció továbbra is az új változat a Python azonban, hogy javítsa az olvashatóság ajánlott logikai típusú változók bool. Ugyanakkor, ha azt szeretné, hogy a visszafelé kompatibilitást a régebbi implementációk Python, akkor logikus változót kell használni 1 (igaz) vagy 0 (hamis).
Funkcionalitás adatsorozatokkal
Python, háromféle gyűjtemények megadott adatok tárolásához készletek:
A tuple egy rendezett adatok megváltoztathatatlan. Ez tartalmazhat elemeket a különböző típusú, mint például a más tuple. A tuple határozza meg a zárójelben, és annak elemei vesszővel vannak elválasztva. Különleges beépített tuple () lehetővé teszi, hogy hármas származó adatsor.
List - a változékony sorrendű elemekkel. Elem a listában is vesszővel elválasztva, de már be van állítva a szögletes zárójelben. Ahhoz, hogy hozzon létre egy listát a javasolt lista () függvényt.
A szótár egy hash tábla rögzítő elem együtt azonosító kulcsot. Későbbi hozzáférést az elemek végzik ugyanazt a kulcsot, így a tároló egység a szótárban - egy pár objektum-kulcsot, és a hozzá tartozó érték az objektum. Szótár - változékony, de nem rendezett gyűjteménye, így a az elemek sorrendjét a szótárban idővel változhat. Meghatározza a szótár a zárójelek, a kulcs elválasztjuk a értéke egy kettőspont, és ne kulcs / érték párokat vesszővel elválasztva. Létrehozásához szótárak dict () függvényt.
1. lista példákat mutat különböző gyűjteményekben elérhető Python.
1. listán típusai gyűjtemény elérhető Python
Meghatározó funkciók Python
Bár a Python támogatja OOP, de számos funkcióval rendelkeznek külön feladatokat; Ezen túlmenően, bővítő modulok gyakran is formában könyvtári funkciókat. Funkciók is használják az osztályteremben, ahol hagyományosan nevezik módszerekkel.
A szintaxis meghatározó funkciók Python nagyon egyszerű; figyelembe véve a követelményeket a fent vázolt:
Mint látható, akkor kell használni a hivatalos szó def, vastagbél- és behúzás. Hívás funkció is nagyon egyszerű:
Paraméterek átadhatók egyszerűen sorrendjét átadása és a neveket, ebben az esetben nem szükséges megadni, ha hívja azokat a paramétereket, amelyek alapértelmezett értékeket, és továbbítja csak az előírt, illetve sorrendjének módosításához a paramétereket a függvényhívás:
Ha a funkció nagyon egyszerű, és áll egy sorban, meg lehet állapítani, közvetlenül a helyszínen, Python ilyen szerkezet nevezzük lambda függvény (lambda). lambda-funkció - egy névtelen függvény (anélkül, hogy a saját nevében), a szerv, amely az üzemeltető visszatérő állítás, amely értéket ad vissza egy kifejezést. Ez a megközelítés hasznos lehet bizonyos esetekben, de érdemes megjegyezni, hogy ezek a funkciók újrafelhasználása nem lehet ( „ahol született és ott hasznos”).
A másik az, hogy leírja a Python hozzáállást használata rekurziót. Alapértelmezésben a rekurzió mélységét legfeljebb 1000 szintet, és ha ezt a szintet vezetünk, nem lesz kivétel, és a munkaprogram leáll. Azonban, ha ez szükséges, az a határérték lehet változtatni.