Tudd Intuíció, előadás, funkcionális programozás elemeinek

Kivonat: Ez az előadás tűnhet szokatlan, hogy valaki, aki használja az imperatív programozási nyelvek (például Pascal, C ++ vagy Java). Mindazonáltal a funkcionális megközelítés a programozó nagy teljesítményű eszközök, amely lehetővé teszi, hogy hozzon létre a nem csak tömörebb, hanem erőteljesebb kódot. Nem szükséges, hogy írjon Python tisztán funkcionális programot, de meg kell tanulni, hogy hol a funkcionális programozási elemek hozza a maximális hatást.







Funkciók absztrakciók. amelyben a részleteket a végrehajtásának egyes intézkedések mögött egy külön nevet. Egy jól megírt készlet jellemzői lehetővé teszi, hogy használja őket sokszor. Python Standard Library tartalmaz egy sor kész, jól működő funkciók, amelyek közül sok sokoldalú ahhoz, hogy működjön együtt a széles bemeneti adatokat. Még ha egy bizonyos kódrészlet nem használják többször is, de a bemeneti és kimeneti adatok elég önálló, akkor ezt nyugodtan izolálható külön funkció.

Ez az előadás jobban összpontosít gyakorlati megfontolások helyett az elmélet funkcionális programozás. Azonban ha szükséges, akkor kell használni, és kifejtette a vonatkozó feltételeket.

Következő lesz szó részletesen, valamint a leírást a funkciók használatának Python. rekurziót. és visszatér átviteli függvény paraméterként, a feldolgozó szekvenciák és iterátorok. valamint olyan dolog, mint a generátort. Meg kell bizonyítani, hogy a Python funkciók objektumok (és így továbbítani lehet a paramétereket, és visszatért eredményeként feladatok elvégzése). Ezen kívül, mi fog összpontosítani, hogyan hajtsák végre bizonyos mechanizmusok funkcionális programozás Python nem rendelkezik közvetlen támogatást szintaxist, de széles körben használják a funkcionális programozási nyelvek.

Mi funkcionális programozás?







Funkcionális programozás - a programozási stílust, kizárólag a készítmény funkciókat. Más szóval, ez a programozás szempontjából, hanem cáfolhatatlan parancsokat.

Amint Devid Mertts (David Mertz) című cikkében a funkcionális programozás Python. "Funkcionális programozás - programozás funkcionális nyelvek (.. LISP ML, ocaml, Haskell)", a fő tulajdonságok:

  • „Miután az első osztályú funkciók” (funkció mellett más tárgyakat lehet átment a funkció).
  • A rekurzió az alapvető szerkezetet a programban.
  • List Processing (szekvenciák).
  • Tilalma mellékhatások funkciók, amelyek elsősorban azt jelenti, nincs hozzárendelés (a „tiszta” funkcionális nyelvek)
  • Megtiltja szereplők, a hangsúly a kifejezés. Ehelyett, az üzemeltetők az egész program ideális - egy kifejezés kísérő meghatározásokat.
  • A fő kérdés az, hogy mit lehet számítani, de nem így.
  • A magasabb rendű funkciók (funkciók a funkciók funkciók).

funkcionális programot

A matematikában a funkció megjeleníti több objektum (sorozat függvénydefinícióval) a másikba (értékrend). Matematikai függvények (úgynevezett tiszta) „mechanikusan” egyedileg kiszámított eredmény szerint az érveket. Clean funkció nem tárolható önmagában semmilyen adatot a két hívás között. Ők is gondolt fekete doboz, csak hogy ők amelyekről ismert, de ez nem számít, hogyan.

Program funkcionális stílusban vannak kialakítva készítmény funkciókat. A funkciók érteni majdnem annyi, mint a matematika: az általuk megjelenített objektumok más tárgyakat. A programozás, a „tiszta” funkció - az ideális nem mindig elérhető a gyakorlatban. Gyakorlatilag hasznos funkciókat jellemzően mellékhatás. fenntartása állami hívások között, vagy állapotának megváltoztatásához egyéb tárgyak. Például mellékhatások nélkül lehetetlen elképzelni, hogy a bemenet-kimenet funkciót. Valójában, egy ilyen funkció kedvéért ezeket „hatások” használnak. Továbbá, a matematikai függvények könnyen dolgozni objektumokat, amelyek alapján egy végtelen mennyiségű információt (például a valós számok). Általában a számítógépes program végezheti csak hozzávetőleges számításokat.

By the way, a művelet „+”, „-”, „*”, „/”, ami meg van írva kifejezéseket, amelyek a „matematikai” funkciók két érv - operandus. Ezeket használják olyan gyakran, hogy egy programozási nyelv szintaktikai egy rövid bejegyzést a számukra. kezelő modul lehetővé teszi, hogy képviselje ezeket a műveleteket egy funkcionális stílus:




Kapcsolódó cikkek