Hey, kodėl Pixel.lt ignoruoja ? (Nėra išskirta kategorijos straipsniams apie ją).Tad, sakau, reik supažindint :) Iš draugiško pykčio, straipsniui pažymėjau Pascal bei PHP kategorijas, nes joms yra gera alternatyva.
Tai sparčiai populiarėjanti universali, lengvai išmokstama programavimo kalba. sintaksės bei ideologijos dėka apie 25% pagreitėja programų kūrimas. Tiobe programavimo kalbų populiarumo reitinge Python nominuota „2007 metų programavimo kalba“.

Pirmoji versija pasirodė 1991 m., vėliau Python buvo vystoma projekte “Computer Programming for Everybody“, o tuo pačiu sugundė ir daug profesionalų. Python plačiai naudoja Ubuntu, Google, NASA, Disnėjaus animacijos studija, YouTube, EVE Online (ir kt.). Su ja sukurta nemažai populiarių AK programų.
Programavimo įvadui ji tinka geriau už kitas kalbas, nes sintaksė netrukdo mokytis algoritmų esmės. Ją galima naudoti tiesiog kaip pseudokodą. yra objektiškai orientuota, bet su ja galima rašyti ir struktūrinio stiliaus programas. Ji sėkmingai naudojama ir darbastalio programoms, ir internetinėms sistemoms kurti. O pavyzdžiui Pascal nenaudojama internetinėse sistemose, o su PHP nekuriamos darbastalio programos. sintaksei yra pritaikyti ir kiti kompiliatoriai: Java (Jython), C (Cython), .NET (Iron Python), todėl galima naudoti praktiškai visur.

sintaksė

buvo kuriama mąstant ne tik apie loginę tvarką, bet ypač daug dėmesio skiriant naudojimo patogumui. Eilučių gale nebūtinas kabliataškis, kintamųjų nereikia aprašyti iš anksto. Viena svarbiausių ypatybių – loginius skliaustus atitinka atitraukimas nuo krašto – tai natūraliai pratina prie geros programavimo kultūros. Dar viena įdomi savybė – kviečiamų funkcijų argumentus galima įvardinti – tai padeda išvengti klaidų pakeitus funkcijos aprašą. Pereinantiems nuo Pascal, reikia priminti skirti didžiąsias ir mažąsias raides ;).

Panagrinėkime internete rastą Pascal pavyzdį. Duotas skaičių sąrašas (jo ilgis k), reikia rasti vidurkį, kiek narių yra didesni už vidurkį (kdv) ir kiek – neigiamų (kn).

Pascal pvz (be kintamųjų aprašų):

FOR j := 1 to k DO vid := vid + sarasas[j];vid := vid / k; {suradome vidurkį}kdv := 0; kn := 0;
 
FOR j := 1 to k DO
 
BEGIN
 
IF sarasas[j] > vid THEN kdv := kdv + 1;
 
IF sarasas[j] < 0 THEN kn := kn + 1;
 
END;

Tą patį algoritmą galima užrašyti taip:

# kintamųjų pvz.:sarasas = [3, -4, 0, -1, 5]; k = len(sarasas)vid = 0for j in range(k): vid += sarasas[j]vid = vid / k # suradome vidurkį
 
kdv = kn = 0
 
for x in sarasas:
 
if x > vid: kdv += 1
 
if x < 0: kn += 1

Kaip matote, ciklo (loginio skliausto) pradžią nurodo „:“. Po jo komandas galima rašyti toje pačioje eilutėje, bet įprasta – naujoje – toliau (lygiai) atitraukiant nuo krašto. Be to, sąrašo elementus cikle galima pasiekti paprastai – be indekso.
tą patį algoritmą galima užrašyti ir daug paprasčiau:

vid = sum(sarasas) / len(sarasas)kdv = sum(1 for x in sarasas if x > vid)
 
kn = sum(1 for x in sarasas if x < 0)

Daugeliui patiks, kad įgalina trumpai ir aiškiai tvarkyti masyvus/sąrašus (angl. „lists“) bei simbolių eilutes. Sąrašo elementai numeruojami nuo nulio (kaip ir C, PHP, Java).

sarasas = range(10) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]x4 = sarasas[3] # 3 – ketvirtasis sąrašo elementass1 = sarasas[6:10] # sąrašo reikšmės nuo 7-to iki 10-to elemento [6, 7, 8, 9]#<a href="http://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python/Revenge_of_the_Strings#Slicing_strings_.28and_lists.29" onclick="javascript:pageTracker._trackPageview ('/outbound/en.wikibooks.org');">sąrašo pjūvio rėžius patogiausia skaičiuoti kaip skirtukų/kablelių numerius</a>s2 = sarasas[-4:] # pateiks 4 paskutinius elementus
 
s3 = sarasas[:4] # o taip galima gauti 4 pirmus elementus
 
saraso_pilna_kopija = sarasas[:]
 
s1 == s2 # grąžins loginę reikšmę True
 
s1_kvadratu = [x**2 for x in s1] # [36, 49, 64, 81]
 
s1+s1_kvadratu # [6, 7, 8, 9, 36, 49, 64, 81]

Pilnavertiškai programuoti padės integruotos aplinkos PyScripter, Eric IDE, Boa Constructor, Eclipse+PyDev ir kt.

mokymo(si) priemonės

Yra geras programavimo įvadas - „How to Think Like a Computer Scientist“ , video pamokėlių , bei išsamus vadovėlis pažengusiems „Dive into Python“. Yra ir lietuviški konspektai bei trumpas pavyzdžiais paremtas įvadas.

Taip pat yra interaktyvių mokymosi priemonių. Crunchy patogi nagrinėjant python.org/doc/tut. RUR-PLE principas panašus į Logo grafiką. Reikia aprašyti robotuko judėjimą lentoje. Tam skirtos kelios specialios funkcijos ir visas . Kartu pateikiamas išsamus 40-ies pamokėlių ciklas su programų pavyzdžiais. (parsiuntimas, po win reiks dar parsisiųsti wxPython ).

Python mokymosi aplinka(RUR-PLE)

Kad tinka ir moksleiviams ir mokslininkams, galima įsitikinti iš įvairių knygų: „Snake Wrangling for Kids“, o „Software Carpentry“ moko inžinierius (ir ne tik) efektyviai programuoti.

Noriu dar…

Daugiau įvairių pavyzdžių bei programavimo šablonų („design patterns“).

Gyvuoja ir (nelabai pastebima) LT Python bendruomenė.

Panašūs straipsniai


“Python — susipažinkime (1 dalis)” komentarų: 7

  1. Tygas

    Ignoruoja? Gal patys mažai skelbėtės.

    Sudalyvaukit CodeJam, apdėkit ruby ir php, tada manau bus ant bangos phython ;]

  2. sirex

    Bandžiau suorganizuoti Python komandą, sulaukiau tokių komentarų: Python programuotojai ir taip žino, kad Python yra geriausias, todėl nemato reikalo kažkur dalyvaujant įrodinėti, kad Python yra geriausias :)

    O šiaip smagu, kad atsirado net visas antras straipsnis apie Python :)

  3. Ričardas Š.

    Pagaliau ir mano ankstesnė kritika buvo išgirsta. Malonu, kad atkreipiate dėmesį į komentarus. Taip ir toliau!

  4. Dalius

    Sirex, tai buvo mano komentaras, o ne kažkieno komentarai. Tikrai neturiu laiko kažko kažkam įrodynėti. Tuo labiau, kad nėra susidirbusios python komandos :-) O tos kelios kompanijos, kurios dirba python’u, matyt tam šiaip laiko neturi.

  5. Emilis

    Ar šiais laikais nebeįmanoma programuoti be ideologijų?

  6. elt.lt » Blog Archive » Apžvalga. Šiandien aš skaičiau… #65

    […] Python. Ne, tai ne stora gyvatė ryjanti triušius ar medžiojanti Dženifer Lopez filme „Anakonda”, o paprasta ir universali programavimo kalba, kuri galbūt ateityje mokyklose pakeis senolę Pascal. Susipažinkime su „Python” iš arčiau… […]

  7. sergej

    Gal nedalivauja nes nemato iššukio, pagaliau!?

Rašyti komentarą

Jūs privalote prisijungti jeigu norite rašyti komentarą.