Python ohjelmointikieli aloittelijoille. Skriptin suorittaminen konsolissa

Johdanto


Henkilökohtaisen tietojenkäsittelytekniikan tällä hetkellä havaittavan nopean kehityksen vuoksi ohjelmointikielien vaatimukset muuttuvat asteittain. Tulkkauskielet alkavat olla yhä tärkeämpi rooli, kun henkilökohtaisten tietokoneiden kasvava teho alkaa tarjota riittävää nopeutta tulkkaiden ohjelmien suorittamiseen. Ja koottujen ohjelmointikielten ainoa merkittävä etu on niiden tuottama nopea koodi. Kun ohjelman suoritusnopeus ei ole kriittinen arvo, eniten oikea valinta tulee olemaan tulkittu kieli yksinkertaisempana ja joustavampana ohjelmointityökaluna.

Tässä suhteessa on mielenkiintoista harkita suhteellisen uutta ohjelmointikieltä Python (Python), jonka sen kirjoittaja Guido van Rossum loi 90-luvun alussa.

Yleistä Pythonista. Hyödyt ja haitat


Python on tulkittu, natiivisti olio-ohjelmointikieli. Se on erittäin yksinkertainen ja sisältää pienen määrän avainsanoja, mutta on myös erittäin joustava ja ilmeikäs. Tämä on korkeamman tason kieli kuin Pascal, C++ ja tietysti C, mikä saavutetaan pääasiassa sisäänrakennetuilla korkean tason tietorakenteilla (luettelot, sanakirjat, monikot).

Kielen edut.
Kiistaton etu on, että Python-tulkki on toteutettu lähes kaikilla alustoilla ja käyttöjärjestelmät. Ensimmäinen tällainen kieli oli C, mutta sen tietotyypit ovat erilaisia ​​autoja voi viedä eri määrän muistia, ja tämä oli esteenä todella kannettavan ohjelman kirjoittamiselle. Pythonilla ei ole tällaista haittaa.

Seuraava tärkeä piirre on kielen laajennettavuus, ja tähän kiinnitetään suurta huomiota, ja kuten kirjoittaja itse kirjoittaa, kieli on pidetty juuri laajennettavana. Tämä tarkoittaa, että kaikki kiinnostuneet ohjelmoijat voivat parantaa kieltä. Tulkki on kirjoitettu kielellä C ja lähde käytettävissä mihin tahansa manipulointiin. Tarvittaessa voit lisätä sen ohjelmaan ja käyttää sitä sisäänrakennetun komentotulkina. Tai kirjoittamalla omia lisäyksiä Pythoniin C:llä ja kääntämällä ohjelman, saat "laajennetun" tulkin uusilla ominaisuuksilla.

Seuraava etu on läsnäolo suuri numero ohjelmaan kytkettyjä moduuleja, jotka tarjoavat erilaisia lisäominaisuuksia. Tällaiset moduulit on kirjoitettu C-kielellä ja itse Pythonilla, ja kaikki riittävän pätevät ohjelmoijat voivat kehittää niitä. Esimerkkejä ovat seuraavat moduulit:

  • Numeerinen Python - edistyneet matemaattiset ominaisuudet, kuten kokonaislukuvektoreiden ja matriisien käsittely;
  • Tkinter - sovellusten rakentaminen graafisen käyttöliittymän (GUI) avulla, joka perustuu X-Windowsissa yleisesti käytettyyn Tk-käyttöliittymään;
  • OpenGL - laajan kaksi- ja kolmiulotteisten objektien graafisen mallinnuksen kirjaston käyttö Silicon Graphics Inc:n Open Graphics Library. Tätä standardia tuetaan muun muassa sellaisissa yleisissä käyttöjärjestelmissä kuin Microsoft Windows 95 OSR 2, 98 ja Windows NT 4.0.
Kielen haitat.
Ainoa tekijän havaitsema haittapuoli on Python-ohjelman suhteellisen alhainen suoritusnopeus, joka johtuu sen tulkittavuudesta. Mielestämme tämän kuitenkin enemmän kuin kompensoivat kielen edut kirjoitettaessa ohjelmia, jotka eivät ole kovin tärkeitä suoritusnopeuden kannalta.

Ominaisuuksien yleiskatsaus


1. Python, toisin kuin monet kielet (Pascal, C++, Java jne.), ei vaadi muuttujamäärityksiä. Ne luodaan paikassa, jossa ne alustetaan, ts. ensimmäisen kerran muuttujalle annetaan arvo. Tämä tarkoittaa, että muuttujan tyyppi määräytyy määritetyn arvon tyypin mukaan. Tässä suhteessa Python muistuttaa Basicia.
Muuttujan tyyppi ei ole muuttumaton. Kaikki sen kohdistaminen on oikein ja tämä johtaa vain siihen, että muuttujan tyypistä tulee uuden määritetyn arvon tyyppi.

2. Kielellä, kuten Pascal, C, C++, listojen järjestäminen aiheutti vaikeuksia. Niiden toteuttamiseksi piti perehtyä perusteellisesti osoittimien kanssa työskentelyn periaatteisiin ja dynaaminen muisti. Ja jopa hyvällä pätevyydellä ohjelmoija, joka kerta kun ottaa uudelleen käyttöön luetteloiden luomis-, työstö- ja tuhoamismekanismeja, voi helposti tehdä hienovaraisia ​​virheitä. Tätä silmällä pitäen on luotu joitain työkaluja luetteloiden käsittelyä varten. Esimerkiksi Delphi Pascalilla on luokka TList, joka toteuttaa listoja; STL (Standard Template Library) -kirjasto on kehitetty C++:lle, ja se sisältää rakenteita, kuten vektoreita, listoja, joukkoja, sanakirjoja, pinoja ja jonoja. Tällaisia ​​palveluita ei kuitenkaan ole saatavilla kaikilla kielillä ja niiden toteutuksissa.

Yksi Pythonin erityispiirteistä on sellaisten rakenteiden läsnäolo, jotka on rakennettu itse kieleen, kuten tuples(tuple) luetteloita(luettelo) ja sanakirjoja(sanakirja), joita joskus kutsutaan kortit(kartta). Katsotaanpa niitä tarkemmin.

  1. Tuple . Se muistuttaa jonkin verran taulukkoa: se koostuu elementeistä ja sillä on tiukasti määritelty pituus. Elementit voivat olla mitä tahansa arvoja - yksinkertaisia ​​vakioita tai objekteja. Toisin kuin taulukon, monikon elementit eivät välttämättä ole homogeenisia. Ja se, mikä erottaa monikon luettelosta, on se, että monikkoa ei voi muuttaa, ts. emme voi määrittää mitään uutta i:nnelle monikon elementille emmekä voi lisätä uusia elementtejä. Siten monikkoa voidaan kutsua vakiolistaksi. Syntaktisesti monikko määritetään luettelemalla kaikki elementit pilkuilla erotettuina, kaikki suluissa:

  2. (1, 2, 5, 8)
    (3.14, 'merkkijono', -4)
    Kaikki elementit indeksoidaan tyhjästä. Saadaksesi i:nnen elementin, sinun on määritettävä monikon nimi ja sen jälkeen indeksi i hakasulkeissa. Esimerkki:
    t = (0, 1, 2, 3, 4)
    tulosta t, t[-1], t[-3]
    Tulos: 0 4 2
    Siten monikkoa voitaisiin kutsua vakiovektoriksi, jos sen elementit olisivat aina homogeenisia.
  3. Lista . Hyvä, yksityinen esimerkki luettelosta on kielimerkkijono Turbo Pascal. Rivin elementit ovat yksittäisiä merkkejä, sen pituus ei ole kiinteä, elementtejä voidaan poistaa tai päinvastoin lisätä mihin tahansa riville. Listan elementit voivat olla mielivaltaisia ​​objekteja, jotka eivät välttämättä ole samantyyppisiä. Jos haluat luoda luettelon, luettele sen elementit pilkuilla erotettuina ja merkitse ne kaikki hakasulkeissa:


  4. ['merkkijono', (0,1,8), ]
    Toisin kuin monikko, listoja voidaan muokata haluamallasi tavalla. Pääsy elementteihin tapahtuu samalla tavalla kuin monissa. Esimerkki:
    l = ]
    tulosta l, l, l[-2], l[-1]
    Tulos: 1 s (2,8) 0
  5. Sanakirja . Se muistuttaa Pascalin tietuetyyppiä tai C:n rakennetyyppiä. Tässä käytetään kuitenkin "tietuekenttä" - "arvo" -mallin sijaan "avain" - "arvo". Sanakirja on kokoelma avainarvopareja. Tässä "avain" on minkä tahansa tyyppinen vakio (mutta merkkijonoja käytetään pääasiassa), se palvelee nimeämään (indeksoimaan) jotain vastaavaa arvoa (jota voidaan muuttaa).

  6. Sanakirja luodaan luettelemalla sen elementit (avainarvoparit kaksoispisteellä erotettuina), erotettuina pilkuilla ja sulkemalla ne kaikki aaltosulkeisiin. Pääset käyttämään tiettyä arvoa kirjoittamalla sanakirjan nimen jälkeen vastaava avain hakasulkeisiin. Esimerkki:
    d = ("a": 1, "b": 3, 5: 3,14, "nimi": "Johannes")
    d["b"] = d
    tulosta d["a"], d["b"], d, d["nimi"]
    Tulos: 1 3,14 3,14 Johannes
    Lisäämistä varten uusi pariskunta"avain" - "arvo" riittää, kun määrität elementille vastaavan arvon uudella avaimella:
    d["uusi"] = "uusi arvo"
    tulostaa d
    Tulos: ("a":1, "b":3, 5:3.14, "nimi":"John", "new":"uusi arvo")

3. Python, toisin kuin Pascal, C, C++, ei tue osoittimien, dynaamisen muistin ja osoitearitmetiikkaa. Tällä tavalla se on samanlainen kuin Java. Kuten tiedät, osoittimet ovat pienten virheiden lähde ja niiden kanssa työskentely liittyy enemmän matalan tason ohjelmointiin. Luotettavuuden ja yksinkertaisuuden lisäämiseksi niitä ei sisällytetty Pythoniin.

4. Yksi Pythonin ominaisuudet on kuinka yksi muuttuja osoitetaan toiselle, ts. kun operaattorin kummallakin puolella" = "muuttujia on.

Timothy Buddin () jälkeen soitamme osoittimen semantiikka tapaus, jossa osoitus johtaa vain viitteen (osoittimen) osoittamiseen, ts. uudesta muuttujasta tulee vain toinen nimi, joka tarkoittaa samaa muistipaikkaa kuin vanha muuttuja. Tässä tapauksessa uuden muuttujan merkitsemän arvon muuttaminen johtaa vanhan arvon muutokseen, koska ne itse asiassa tarkoittavat samaa asiaa.

Kun toimeksianto johtaa uuden objektin luomiseen (tässä objekti - muistinpalan merkityksessä jonkin tyyppisen arvon tallentamiseen) ja määritetyn muuttujan sisällön kopioimiseen siihen, kutsumme tätä tapausta kopioi semantiikkaa. Jos kopiointisemantiikkaa sovelletaan kopioitaessa, "="-merkin molemmin puolin olevat muuttujat tarkoittavat kahta itsenäistä objektia, joilla on sama sisältö. Ja tässä yhden muuttujan myöhempi muutos ei vaikuta toiseen millään tavalla.

Tehtävä Pythonissa toimii näin: jos luovutettavissa objekti on esiintymä sellaisista tyypeistä kuin numerot tai merkkijonot, silloin kopiosemantiikkaa sovelletaan, mutta jos oikealla puolella on luokan, luettelon, sanakirjan tai monikon esiintymä, niin osoittimen semantiikkaa sovelletaan. Esimerkki:
a = 2; b = a; b = 3
tulosta "kopioi semantiikka: a=", a, "b=", b
a = ; b = a; b = 3
tulosta "osoittimen semantiikka: a=", a, "b=", b
Tulos:
kopioi semantiikka: a= 2 b= 3
osoittimen semantiikka: a= b=

Niille teistä, jotka haluavat tietää, mitä täällä tapahtuu, annan sinulle toisenlaisen käsityksen Pythonista. Jos kielissä kuten Basic, Pascal, C/C++ käsittelimme "kapasiteetti"-muuttujia ja niihin tallennettuja vakioita (numeerinen, symbolinen, merkkijono - ei väliä), ja määritystoiminto tarkoitti vakion "syöttämistä" määritettyyn muuttujaan , niin Pythonissa meidän on jo työskenneltävä "name"-muuttujien ja niiden nimeämien objektien kanssa. (Huomaa joitakin analogioita Prolog-kielen kanssa?) Mikä on objekti Pythonissa? Tämä on kaikki, jolle voidaan antaa nimi: numerot, merkkijonot, luettelot, sanakirjat, luokkaesiintymät (joita Object Pascalissa kutsutaan objekteiksi), itse luokat (!), funktiot, moduulit jne. Joten kun objektiin määritetään muuttuja, muuttujasta tulee sen "nimi", ja objektilla voi olla niin monta "nimeä" kuin haluaa ja ne ovat kaikki toisistaan ​​riippumattomia.

Nyt objektit on jaettu muunnettaviin (muuttuviin) ja muuttumattomiin. Muuttuvat - ne, jotka voivat muuttaa "sisäistä sisältöään", esimerkiksi luetteloita, sanakirjoja, luokkaesiintymiä. Ja muuttamattomat - kuten numerot, monikot, merkkijonot (kyllä, myös merkkijonot; voit liittää muuttujaan uuden merkkijonon, joka on saatu vanhasta, mutta et voi muokata itse vanhaa merkkijonoa).

Jos siis kirjoitetaan a = ; b = a; b = 3 Python tulkitsee sen näin:

  • anna objektille "luettelo" "Nimi a ;
  • anna tälle esineelle toinen nimi - b ;
  • muokata objektin nolla-elementtiä.

  • Näin saamme osoittimien "pseudo" semantiikan.

    Vielä viimeinen asia sanottavana tästä: vaikka monikon rakennetta ei ole mahdollista muuttaa, sen sisältämät muuttuvat komponentit ovat edelleen muokattavissa:

    T = (1, 2, , "merkkijono") t = 6 # tämä ei ole mahdollista del t # myös virhe t = 0 # sallittu, nyt kolmas komponentti on lista t = "S" # virhe: merkkijonoja ei vaihteleva

    5. Pythonin tapa ryhmittää operaattoreita on hyvin omaperäinen. Pascalissa tämä tehdään operaattorisulkeilla alku-loppu, C:ssä, C++:ssa, Javassa - aaltosulkeet (), Basicissa käytetään kielikonstruktien loppupäätteitä (NEXT, WEND, END IF, END SUB).
    Pythonissa kaikki on paljon yksinkertaisempaa: lausekelohkon valinta suoritetaan siirtämällä valittua ryhmää yhdellä tai useammalla välilyönnillä tai sarkainmerkillä oikealle suhteessa sen rakenteen päähän, johon annettu lohko kuuluu. Esimerkiksi:

    jos x > 0: tulosta 'x > 0' x = x - 8 muuten: tulosta 'x<= 0 ’ x = 0 Siten täällä hankitaan alusta alkaen hyvä kirjoitusohjelmien kirjoitustyyli, jota Pascal-, C++-, Java- jne. kielten opettajat vaativat, koska se ei yksinkertaisesti toimi millään muulla tavalla.

    Kielen kuvaus. Ohjausrakenteet



    Poikkeuskäsittely


    yrittää:
    <оператор1>
    [paitsi[<исключение> [, <переменная>] ]:
    <оператор2>]
    [muu <оператор3>]
    Esitetty<оператор1>, jos tapahtuu poikkeus<исключение>, niin se täyttyy<оператор2>. Jos<исключение>on arvo, se on määritetty<переменной>.
    Onnistuneen valmistumisen jälkeen<оператора1>, suoritettu<оператор3>.
    yrittää:
    <оператор1>
    lopuksi:
    <оператор2>
    Esitetty<оператор1>. Jos poikkeuksia ei tapahdu, suorita<оператор2>. Muuten toteutettu<оператор2>ja poikkeus esitetään välittömästi.
    nostaa <исключение> [<значение>] Tekee poikkeuksen<исключение>parametrin kanssa<значение>.

    Poikkeukset ovat vain merkkijonoja. Esimerkki:

    My_ex = 'huono indeksi' kokeile: jos huono: nosta ex, huono paitsi my_ex, arvo: tulosta 'Virhe', arvo

    Toimintoilmoitus



    Luokkailmoitus



    Luokka cMyClass: def __init__(self, val): self.value = val # def printVal(self): print ' value = ', self.value # # end cMyClass obj = cMyClass (3.14) obj.printVal() obj.value = " merkkijono nyt" obj.printVal () !} Tulos:
    arvo = 3,14
    arvo = merkkijono nyt

    Operaattorit kaikentyyppisille sekvensseille (listat, monikot, merkkijonot)


    Operaattorit luetteloille (luettelo)


    s[i] = x i. elementti s korvataan x:llä.
    s = t osa elementeistä s i:stä j-1:een korvataan t:llä (t voi olla myös lista).
    dels poistaa s-osan (sama kuin s = ).
    s.append(x) lisää elementin x s:n loppuun.
    s.count(x) palauttaa elementtien määrän s, joka on yhtä suuri kuin x.
    s.index(x) palauttaa pienimmän i:n siten, että s[i]==x.
    s.insert(i,j) s:n osa, joka alkaa i:nnestä alkiosta, siirretään oikealle ja s[i] osoitetaan x:lle.
    s.remove(x) sama kuin del s[ s.index(x) ] - poistaa s:n ensimmäisen alkion, joka on yhtä suuri kuin x.
    s.reverse() kirjoittaa merkkijonon käänteisessä järjestyksessä
    s.sort() lajittelee luettelon nousevaan järjestykseen.

    Sanakirjojen operaattorit


    Tiedostoobjektit


    Sisäänrakennetun toiminnon luoma avata()(katso kuvaus alla). Esimerkiksi: f = avoin('mydan.dat','r').
    Menetelmät:

    Muut kielielementit ja sisäänrakennetut toiminnot


    = toimeksianto.
    Tulosta [ < c1 > [, < c2 >]* [, ] ] näyttää arvot< c1 >, < c2 >V vakiolähtö. Asettaa välilyönnin argumenttien väliin. Jos argumenttiluettelon lopussa ei ole pilkkua, se siirtyy uudelle riville.
    abs(x) palauttaa x:n itseisarvon.
    Käytä( f , <аргументы>) kutsuu funktiota (tai menetelmää) f kanssa< аргументами >.
    chr(i) palauttaa yksimerkkisen merkkijonon ASCII-koodilla i.
    cmp(x,y) palauttaa negatiivisen, nollan tai positiivisen, jos vastaavasti x<, ==, или >kuin y.
    divmod (a, b) palauttaa monikon (a/b, a%b), jossa a/b on div b (jaon tuloksen kokonaisluku), a%b on mod b (jaon loppuosa).
    eval(t)
    palauttaa s:ssä määritellyn objektin merkkijonona. S voi sisältää minkä tahansa kielirakenteen. S voi olla myös koodiobjekti, esimerkiksi: x = 1 ; incr_x = eval("x+1") .
    kellua(x) palauttaa todellisen arvon, joka on yhtä suuri kuin luku x.
    hex(x) palauttaa merkkijonon, joka sisältää x:n heksadesimaalimuodon.
    input(<строка>) näytöt<строку>, lukee ja palauttaa arvon vakiosyötteestä.
    int(x) palauttaa x:n kokonaisluvun.
    linssi) palauttaa objektin pituuden (elementtien lukumäärän).
    pitkä (x) palauttaa pitkän kokonaisluvun arvon x.
    maksimi(t), min(ä) palauttaa sekvenssin s suurimman ja pienimmän elementin (eli s on merkkijono, luettelo tai monikko).
    loka (x) palauttaa merkkijonon, joka sisältää luvun x esityksen.
    avata(<имя файла>, <режим>='r' ) palauttaa lukemista varten avatun tiedostoobjektin.<режим>= 'w' - avaus kirjoittamista varten.
    ord(c) palauttaa merkin ASCII-koodin (merkkijono, jonka pituus on 1) c.
    pow(x, y) palauttaa x:n arvon y:n potenssiin.
    range(<начало>, <конец>, <шаг>) palauttaa luettelon kokonaisluvuista, jotka ovat suurempia tai yhtä suuria kuin<начало>ja vähemmän kuin<конец>, luotu tietyllä<шагом>.
    raw_input( [ <текст> ] ) näytöt<текст>standardituloon ja lukee merkkijonon standardisyötteestä.
    pyöreä (x, n=0) palauttaa todellisen x:n pyöristettynä n:nnen desimaalin tarkkuudella.
    str(<объект>) palauttaa merkkijonoesityksen<объекта>.
    tyyppi(<объект>) palauttaa objektin tyypin.
    Esimerkki: if type(x) == type(''): print 'tämä on merkkijono'
    xrange(<начало>, <конец>, <шаг>) on samanlainen kuin alue, mutta vain simuloi luetteloa luomatta sitä. Käytetään for-silmukassa.

    Erikoistoiminnot luetteloiden käsittelyyn


    suodatin (<функция>, <список>) palauttaa luettelon näistä elementeistä<спиcка>, mille<функция>ottaa arvon "true".
    kartta(<функция>, <список>) pätee<функцию>jokaiseen elementtiin<списка>ja palauttaa tulosluettelon.
    vähentää ( f , <список>,
    [, <начальное значение> ] )
    palauttaa "vähennyksellä" saadun arvon<списка>toiminto f. Tämä tarkoittaa, että jokin sisäinen muuttuja p on alustettu<начальным значением>, sitten jokaiselle elementille<списка>, funktiota f kutsutaan kahdella parametrilla: p ja alkio<списка>. F:n palauttama tulos määritetään p:lle. Kaiken käymisen jälkeen<списка>vähentää tuottoa p.
    Tällä funktiolla voit esimerkiksi laskea listan elementtien summan: def func (punainen, el): return red+el summa = vähennä (func, , 0) # nyt summa == 15
    lambda [<список параметров>] : <выражение> "Anonyymi" funktio, jolla ei ole nimeä ja joka on kirjoitettu sinne, missä sitä kutsutaan. Hyväksyy kohdassa määritetyt parametrit<списке параметров>, ja palauttaa arvon<выражения>. Käytetään suodattamiseen, pienentämiseen, kartoittamiseen. Esimerkiksi: >>>tulostussuodatin (lambda x: x>3, ) >>>tulosta kartta (lambda x: x*2, ) >>>p=pienennä (lambda r, x: r*x, , 1) >>> tulosta s 24

    Moduulien tuonti



    Tavallinen matemaattinen moduuli


    Muuttujat: pi, e.
    Toiminnot(samanlainen kuin C-kielen funktiot):

    acos(x) cosh(x) ldexp(x,y) sqrt(x)
    asin(x) exp(x) loki(x) tan(x)
    atan(x) ihania(x) sinh(x) frexp(x)
    atan2(x,y) kerros (x) pow(x,y) modf(x)
    katto (x) fmod(x,y) synti(x)
    cos(x) log10(x) tanh(x)

    merkkijonomoduuli


    Toiminnot:

    Johtopäätös


    Python-kielen yksinkertaisuuden ja joustavuuden vuoksi sitä voidaan suositella käyttäjille (matemaatikot, fyysikot, taloustieteilijät jne.), jotka eivät ole ohjelmoijia, mutta käyttävät tietotekniikkaa ja ohjelmointia työssään.
    Pythonin ohjelmat kehitetään keskimäärin puolitoista-kaksi (ja joskus kaksi-kolme) kertaa nopeammin kuin käännetyillä kielillä (C, C++, Pascal). Siksi kieli voi kiinnostaa suuresti ammattiohjelmoijia, jotka kehittävät sovelluksia, jotka eivät ole kriittisiä suoritusnopeuden kannalta, sekä ohjelmia, jotka käyttävät monimutkaisia ​​tietorakenteita. Erityisesti Python on osoittautunut hyvin kehittäessään ohjelmia graafien kanssa työskentelemiseen ja puiden luomiseen.

    Kirjallisuus


    1. Budd T. Olio-ohjelmointi. - Pietari: Pietari, 1997.
    2. Guido van Rossum. Python opetusohjelma. (www.python.org)
    3. Chris Hoffman. Python-pikaopas. (www.python.org)
    4. Guido van Rossum. Python-kirjaston viite. (www.python.org)
    5. Guido van Rossum. Pythonin käsikirja. (www.python.org)
    6. Guido van Rossum. Python-ohjelmointipaja. (http://sultan.da.ru)

    Vielä pari vuosikymmentä sitten ohjelmoijat vaikuttivat jonkinlaisilta shamaaneilta, jotka tiesivät jotain, mikä oli muiden ulottumattomissa. Joskus ihmiset oppivat ohjelmoinnin polvillaan, raaputtamalla koodia paperille, koska "keskittyminen tietokonelaitteet asukasta kohden" oli erittäin alhainen. Nyt tuskin löytää henkilöä, jolla ei olisi kotona pöytätietokonetta tai kannettavaa tietokonetta. Myöskään koulutusteknologiat eivät pysähdy.

    Hieman historiaa

    Python-ohjelmointikieltä alkoi kehittää Guido van Rossum 1980-luvun lopulla. Guido oli tuolloin hollantilaisen CWI-instituutin työntekijä. Hän kirjoitti tämän kielen vapaa-ajallaan ja laittoi siihen ajatuksia ABC-kielestä, jonka työhön hän osallistui.

    Kieltä ei nimetty matelijan mukaan. Itse asiassa nimi on saanut inspiraationsa suositusta brittiläisestä 1970-luvun komediaohjelmasta nimeltä Monty Python's Flying Circus, vaikka Pythonia verrataan edelleen paljon useammin käärmeeseen, kuten virallisella verkkosivustolla oleva logo osoittaa (sillä on kaksi käärmeen päätä) .

    Van Rossumin suunnitteluintuitio ei ole ainoa syy siihen, miksi Python-ohjelmointikieli on niin suosittu. Tyhjästä oppimisesta tulee miellyttävä ja helppo tehtävä, kun otetaan huomioon ystävällinen käyttäjäyhteisö.

    Ei niin kauan sitten, vuonna 2008, julkaistiin ensimmäinen pitkään testattu Python 3000 (3.0) versio, jossa monet arkkitehtoniset puutteet poistettiin. Samaan aikaan kehittäjät yrittivät säilyttää yhteensopivuuden aiemmat versiot Kieli. Huolimatta uudemmasta versiosta, molemmat haarat (2.x ja 3.x) ovat tuettuja.

    Tiivis ohjelmointikieli

    Pythonilla on monia etuja muihin kieliin verrattuna. Se on ymmärrettävää lähes intuitiivisesti ja sillä on "läpinäkyvä" syntaksi. Se tarkoittaa sitä ohjelmakoodi se on paljon helpompi lukea tällä kielellä, mikä vähentää aikaa paitsi sen kirjoittamiseen, myös erilaisiin muokkauksiin ja tarkistuksiin.

    Tietysti "vanhan koulun" ohjelmoija sanoo, että sinun on ehdottomasti osattava useita kieliä, mutta voit jopa aloittaa konekoodin opiskelusta. Mutta suorittamalla ohjelmointikurssin Pythonissa, henkilö ei saa vain erityistä tietoa, vaan myös mahdollisuuden toteuttaa luova luonne luomalla sovelluksia ja hyödyllisiä ohjelmia. Ehkä pian ohjelmointi on yhtä välttämätöntä kuin vieraan kielen osaaminen.

    Epävarmuus

    On syytä hylätä väärinkäsitys, että ohjelmointi on vaikeaa. Ei, ohjelmointi on paljon mielenkiintoisempaa kuin miltä se näyttää; Muu toiminta ja niin sanottu "ajan puute" tai laiskuus voivat häiritä.

    Peruskirjallisuus auttaa sinua oppimaan ohjelmoinnin nopeasti Pythonissa. Harjoituskurssi kannattaa aloittaa lukemalla kaksi kirjaa, joista saat perusasiat. Ensimmäinen on Mark Lutzin "Python Programming" ja toinen Mark Summerfieldin "Python 3 Programming". Lutzin kirjassa kuvataan yksityiskohtaisesti, joskus jopa liikaa, kaikki perusperiaatteet, joille kieli rakentuu. Jotkut suosittelevat Mark Lutzin lukemista ei hallitsemaan, vaan syventämään perustietoja. Summerfieldin kirja selittää kaiken ytimekkäämmin. On olemassa muutakin kirjallisuutta, mutta nämä oppikirjat ovat hyödyllisimpiä ja informatiivisimpia.

    Alkukurssi

    Muistetaan ala-aste. Yleensä jopa lapsi tulee ensimmäiselle luokalle vähäisellä tiedolla: jotkut olivat vanhempansa opettamia, toiset menivät nollaan. Python-ohjelmointikielen koulutusta järjestetään myös. Se on todella kätevä ja "läpinäkyvä", mutta ilman vähäistä tietoa perusperiaatteet koulutusohjelmat tulevat olemaan vaikeita. Se on kuin nuottien oppimista kuulematta musiikkia. Siksi niiden, jotka eivät ole koskaan kohdanneet ohjelmointia, tulisi tutustua "aloitusminimiin".

    CS50-luennot ovat hyödyllisiä. Tämä on Harvardin yliopiston kurssi, joka on omistettu ohjelmointiin Java Scriptillä, mutta ensimmäisillä luennoilla selitetään tietokoneen ja ohjelmien vuorovaikutusta yleisesti saatavilla olevalla ja ymmärrettävällä tavalla. Venäjänkielisten käyttäjien käytettävissä on tämän kurssin videotallenteet käännöksineen, lisämateriaalit, luentojen tekstiversiot ja käytännön tehtävät. Video löytyy melkein mistä tahansa, esimerkiksi YouTubesta, mutta kaikki materiaalit kokonaisuudessaan löytyvät Java Script -sivustolta.

    Internetissä

    Python-ohjelmointikieli on saamassa suosiota, joten jo pitkään on ollut useita portaaleja, joissa on paljon itseoppimismateriaalia. Esimerkiksi "Python 3 aloittelijoille". Tällä sivustolla on paljon materiaalia aloittelijoille, sitä voidaan käyttää huijauslehtenä. Tästä aiheesta on myös runsaasti tietoa vapaa pääsy Codecademyn verkkosivuilla.

    Myös keskustelu foorumeilla on tärkeää. Yksin opiskelu on aina vaikeampaa, joten älä unohda eri yhteisöjä.

    Maksulliset kurssit

    Voit aina käyttää maksullisia kursseja, mutta joskus se maksaa paljon rahaa, ja tulos voi olla epätyydyttävä. Siksi on tietysti suositeltavaa valita kursseja, jotka tarjoavat ilmaisen kokeilutehtävän. Esimerkiksi GeekBrainsissa on intensiivikurssi "Python Programming Fundamentals". Tunti on maksuton ja järjestetään kymmenen päivän välein. Rekisteröityäksesi sinun tulee kirjautua sisään sivustolle.

    Neuvonta: Mitä tahansa kursseja valitsetkin, tutustu ensin kielen perusteisiin, jotta et tuhlaa aikaa johonkin, jonka voit helposti oppia itse. Riittää, kun luet edellä mainitut kirjat.

    Tietysti, kun teoria on hallussa, haluat harjoitella. Nick Parlanten luennot on mainittava tässä. Ne ovat englanninkielisiä, vaikka yleensä paljon hyvää opetuskirjallisuutta on englanniksi, eikä tämän pitäisi olla yllättävää. Luennoillaan Nick ei vain opeta Python-ohjelmointikieltä, vaan antaa myös erinomaisia ​​käytännön ongelmia.

    Käyttö

    Python-ohjelmointikieltä on käytetty luomaan monia sovelluksia, joita monet ihmiset käyttävät päivittäin. Tämä on esimerkiksi BitTorrent torrent -asiakasohjelman kuudes versio. Myös "Python" ("Python") käytetään rasterissa graafinen editori Linkuttaa. Sitä käytetään esimerkiksi lisämoduulien, suodattimien luomiseen. Suuri osa Civilization IV:stä ja Batterfield 2:sta on kirjoitettu tällä kielellä.

    Pythonia käyttävät yritykset, kuten Google, Facebook, Instagram, Dropbox ja Pinterest. Se toimii myös Yandex Disk -sovelluksen ytimessä. Noin 10 % yrityksen työntekijöistä kirjoittaa Pythonilla, ja monet ohjelmoijat kutsuvat sitä suosikkikielekseen.

    Kuinka päästä alkuun

    Mikään koodi ei voi toimia "ilmassa" myös Python-ohjelmointikieli noudattaa tätä sääntöä. Vaikka harjoittelu tyhjästä alkaa teorialla, todellisuudessa, voisi sanoa, se alkaa asenteesta Henkilökohtainen tietokone työympäristö. Kuinka tehdä se? Se on yksinkertaista: sinun on seurattava virallisen Python-sivuston linkkiä, ladattava ja suoritettava asennusohjelma ja noudatettava huolellisesti sen ehdottamia ohjeita.

    Huomaa, että sinun on ladattava tiedosto, joka sopii tietokoneellesi asennettuun käyttöjärjestelmään!

    Jos asennus onnistui, avaa konsoli (yleensä tämä voidaan tehdä pikanäppäimellä “ctrl+alt+T”). Nyt voit kirjoittaa ensimmäisen ohjelman. Kirjoita esimerkiksi "python3". Jos konsoli näyttää "tervetuloviestin", jossa ilmoitetaan ohjelman versio (esimerkiksi 3.4.0), kaikki on kunnossa, jos ei, sinun on asennettava kolmas Python-versio komennolla: "sudo apt -asenna python3".
    Tämä ei kuitenkaan ole välttämätöntä. Voit kirjoittaa koodin missä tahansa kätevässä tekstieditorissa ja suorittaa sen sitten konsolin kautta tai käyttää jakelun mukana tulevaa IDLE-kehitysympäristöä.

    Käynnistä IDLE. Pienen ohjelman luomiseksi sinun tarvitsee kirjoittaa vain yksi koodirivi.

    print ("Hei maailma!")

    Syötä tämä koodi IDLE-ikkunaan ja paina Enter. Ympäristö reagoi välittömästi toimilla - näytä vaadittu teksti näytöllä. Ensimmäinen ohjelma on valmis.

    Mitä ohjelmia kirjoitetaan Pythonissa?

    Sovellusohjelmisto tavallisille ihmisille

    Käydään ensin läpi ohjelmat, joita käyttävät tavalliset ihmiset, jotka eivät ole tietotekniikan asiantuntijoita.

    BitTorrent

    Kaikki tämän torrent-asiakasohjelman versiot kuuteen asti kirjoitettiin Pythonilla. Versio 6 kirjoitettiin uudelleen C++:lla.

    Ubuntu Software Center

    Lainaus Wikipediasta:
    Ubuntu-sovelluskeskus(Englanti) Ubuntu Software Center) on ilmainen ohjelmisto pakettien etsimiseen, asentamiseen ja poistamiseen Ubuntu Linux -järjestelmässä. V uusimmat versiot Voit ostaa lehtiä Linuxista ja Ubuntusta, voit myös ostaa maksullisia pelejä ja ohjelmistoja. Sovellus on kehitetty Python + Valassa käyttäen GTK+ kirjastoja ja se on Advanced Packaging Toolin graafinen kuori.

    Tehosekoitin

    Lainaus Wikipediasta:
    Tehosekoitin- ilmainen, ammattimainen paketti kolmiulotteisen luomiseen tietokonegrafiikka, joka sisältää työkaluja mallintamiseen, animaatioon, renderöintiin, videon jälkikäsittelyyn ja interaktiivisten pelien luomiseen. Tällä hetkellä se on suosituin ilmaisten 3D-editorien keskuudessa nopean ja vakaan kehityksensä ansiosta, jota ammatillinen kehitystiimi edesauttaa.

    Pythonia käytetään työkaluna työkalujen ja prototyyppien luomiseen, pelien logiikkajärjestelmien luomiseen, tiedostojen tuonti-/vientivälineenä (esim. COLLADA) sekä tehtävien automatisointi.

    Tässä on joitain dokumentaatiosivuja:

    LINKUTTAA

    Lainaus Wikipediasta:
    Pythonia käytetään kirjoittamiseen lisämoduuleja esimerkiksi suodattimet.
    Tässä muutama sivu, jotka käsittelevät aihetta syvemmälle:

    Pelit

    Sivilisaatio IV

    Suurin osa pelistä on kirjoitettu Pythonilla().

    Battlefield 2

    Internetissä on monia opetusohjelmia ja yksinkertaisia ​​reseptejä erilaisten esineiden ja niiden käyttäytymisen muuttamiseksi.

    Tankkien maailma

    Lainaus artikkelista "GUI in the game World of Tanks":
    Python on käytössä skriptikielinä projektissa. Kaikki Flashissa tekemämme kauneus on yhdistettävä peliin, täytettävä datalla, prosessoitava ja käännettävä käyttäjän syötteet todellista toimintaa pelissä. Kaikki tämä tehdään Pythonissa.
    Lisää täydellinen lista Pythonia käyttävät pelit löytyvät Wikipediasta ja Python-dokumentaatiosta.

    Mitkä yritykset käyttävät Pythonia?

    Lista Pythonia käyttävistä yrityksistä on pitkä. Niiden joukossa on Google, Facebook, Yahoo , NASA , Red Hat , IBM , Instagram, Dropbox, Pinterest, Quora, Yandex, Mail.Ru.

    Yandex

    Tässä on raportti "Python Yandex.Diskin ytimessä". Sergei Ivaštšenko (puhuja):
    Puhun siitä, kuinka käytämme Pythonia Yandex.Diskissä, mitä kirjastoja ja kehyksiä käytämme, mitä tehtäviä ratkaisemme ja mitä ongelmia kohtaamme. Käsittelen myös aihetta asynkronisten toimintojen kirjaamisesta ja käsittelystä.
    Yandex-kanavan videossa työntekijät puhuivat suosikkikielistään.

    Ja Yandex-yrityksen blogissa on 19. maaliskuuta 2014 päivätty merkintä "Mitä ohjelmointikieliä kirjoitetaan Yandexissä". Joten 13% Yandexin työntekijöistä kirjoittaa suurimman osan työajastaan ​​Pythonissa.

    Mail.ru

    Mail.ru:n työntekijät käyttävät myös Pythonia. Habrén virallisessa Mail.ru-blogissa on useita artikkeleita Pythonista:

    Google

    Google on käyttänyt Pythonia aktiivisesti perustamisestaan ​​lähtien. Siitä on huhuja suurin osa YouTube ja Google Drive on kirjoitettu Pythonilla. Google on kehittänyt kokonaisen pilvialustan, Google App Enginen, jotta kehittäjät voivat käyttää Python-koodia Google pilvi. Monet kielikehittäjät ovat työskennelleet ja työskentelevät Googlella.

    DropBox

    Palvelu on kehitetty Pythonissa. Ei ole sattumaa, että Python-kielen kirjoittaja Guido van Rossum työskentelee DropBoxissa.

    Muut yritykset

    Pythonia käyttävät organisaatiot

    Millä alueilla Pythonia käytetään?

    verkkokehitys

    Python on ehkä eniten käytetty tällä alalla. Django-verkkokehys jatkaa vauhtiaan ja laajentaa fanien joukkoa. Monet aloittelevat ohjelmoijat jopa ajattelevat, että Pythonia ei käytetä missään muualla. Mutta monet muut verkkokehykset on kirjoitettu Pythonissa: Pylons TurboGears , CherryPy, Flask, Pyramid ja muut. Löydät täydellisemmän luettelon.
    On myös Djangoon perustuva CMS, sen nimi on DjangoCMS.
    Hyvin usein verkkosivustojen jäsentimet kirjoitetaan Pythonilla. Tyypillisesti Requests, aiohttp, BeautifulSoup, html5lib käytetään tähän. Sivuston jäsentämiseen on myös korkeamman tason työkaluja: Scrapy, Grab.

    Järjestelmän hallinta

    Python on loistava kieli työn automatisointiin Järjestelmänvalvoja. Se on asennettu oletusarvoisesti kaikille Linux-palvelimille. Se on yksinkertainen ja ymmärrettävä. Python-koodi on helppolukuinen. Jotkut ihmiset rakastavat Perlia, minäkin rakastan sitä sen helppouden vuoksi työskennellä säännöllisten lausekkeiden kanssa, mutta vihaan Perlia sen syntaksin vuoksi. Bash on hyödyllinen suhteellisen pienille ja keskikokoisille skripteille, mutta Python on tehokkaampi ja mahdollistaa joissain tapauksissa paljon vähemmän koodin kirjoittamisen.
    Ainoa paketti, jonka tiedän, on Kangas. Ehkä on jotain muuta, kirjoita minulle kommentteihin, jos tiedät.

    lisäinformaatio

    Python järjestelmänvalvojille (IBM developerWorks)
    Kangasdokumentaatio. Järjestelmän hallinto.

    Sisällytetty järjestelmä

    Pythonia käytetään hyvin usein sulautettujen järjestelmien ohjelmointiin. Tunnetuin Pythonia käyttävä projekti on Raspberry Pi. Mutta hän ei ole ainoa:
    Sulautettu Python
    Raspberry Pi
    Pythonin sulautetut työkalut
    Owl Embedded Python -järjestelmä

    Sovellusohjelmistojen kehittäminen, mukaan lukien pelit

    Pythonia käytetään usein apukielinä sovellusten kehittämisessä. ohjelmisto. Olen jo antanut esimerkkejä edellä, en toista niitä.

    Tieteellinen tutkimus

    Fyysikot ja matemaatikot rakastavat Pythonia sen yksinkertaisuuden vuoksi. Lisäksi Pythonille on olemassa suuri määrä kirjastot, jotka helpottavat tiedemiehen elämää. Esimerkiksi:
    1. SciPy- Tämä avoin kirjasto korkealaatuisia tieteellisiä työkaluja Python-ohjelmointikielelle. SciPy sisältää moduuleja optimointiin, integrointiin, erikoistoimintoihin, signaalinkäsittelyyn, kuvankäsittelyyn, geneettisiin algoritmeihin, tavallisten differentiaaliyhtälöiden ratkaisemiseen ja muihin tieteessä ja tekniikassa yleisesti ratkaistaviin ongelmiin.
    2. Matplotlib- Python-ohjelmointikielen kirjasto datan visualisoimiseksi kaksiulotteisella (2D) grafiikalla (myös 3D-grafiikkaa tuetaan). Tuloksena saatuja kuvia voidaan käyttää kuvituksena julkaisuissa.
    3. NumPy on Python-kielen laajennus, joka lisää tuen suurille moniulotteisia taulukoita ja matriisit sekä suuri korkean tason kirjasto matemaattiset funktiot operaatioille näiden taulukoiden kanssa.
    Kattavampi luettelo Pythonin tieteellisen laskennan kirjastoista löytyy Wikipediasta.

    koulutus

    Pythonia suositellaan usein ensimmäisenä ohjelmointikielenä.
    Joillakin venäläisillä kouluilla on onnistunut kokemus koululaisten ohjelmoinnin opettamisesta Pythonilla.
    Muuten, Guido van Rossum teki vaikutuksen ABC-kielestä, kun hän kirjoitti Python. Ja ABC-kieli oli tarkoitettu koulutukseen ja prototyyppien tekemiseen.

    Python-kielen kritiikki

    Python on yksi hitaimmista ohjelmointikielistä

    Internetistä löydät monia erilaisia ​​nopeustestejä sisäänkirjoitetuille ohjelmille eri kieliä ohjelmointi. Python on yleensä listan lopussa.
    Tyypillisesti Python viittaa CPythoniin, kielen referenssitoteutukseen. Python-kielellä on muita toteutuksia, kuten PyPy. PyPy päihittää CPythonin ja monet muut skriptikieliä ohjelmointi, hyvin lähellä Javaa. Mutta on yksi ongelma - PyPy ei täysin toteuta Python-kieltä, minkä vuoksi monet Python-ohjelmat eivät toimi sillä.
    Monet ohjelmoijat kirjoittavat lisäosia C/C++-kielellä nopeuttaakseen työtä pullonkauloissa. Python ei ole suunniteltu laskennallisiin tehtäviin, paljon muistia vaativiin tehtäviin (muisti sidottu) ja vastaaviin. Sinun on voitava valita oikeat työkalut tehtäviisi. Guido van Rossum puhuu tästä haastattelussa.

    GIL estää useiden säikeiden suorittamisen samanaikaisesti

    Global Interpreter Lock estää useiden Python-säikeiden suorittamisen samanaikaisesti. Nämä ovat CPythonin ominaisuuksia. Mutta onko tämä haitta? Sinun on ymmärrettävä, että kaikki riippuu tehtävästä. Jos tehtäväsi riippuu I/O-nopeudesta (IO-sidottu tehtävä), on tehokkaampaa käyttää useita prosesseja, jotka toimivat asynkronisesti ulkoisten resurssien kanssa. Ja virrat jaettu muisti hyvä laskentatehtäviin (CPU-sidottu). Mutta vaikka sinun pitäisi työskennellä säikeiden kanssa, voit poistaa GIL:n käytöstä jonkin aikaa, koska tämä tehdään NumPy matemaattisessa paketissa.

    Ei hyviä jakelutyökaluja

    Valitettavasti koodi on Pythonissa, jossa on monia riippuvuuksia järjestelmäkirjastot, vaikea siirtää muihin järjestelmiin. Tämä ongelma ratkaistaan ​​käyttämällä virtualenv. mutta järjestelmänvalvojat arvostelevat tätä työkalua paljon.

    lisäinformaatio

    Pythonin menestystarinoita
    MITÄ kirjoitit Pythonilla?
    Mihin Pythonia käytetään?
    Lisää todisteita siitä, että se on Pythonin maailma ja me vain elämme siinä
    KESKIMÄÄRÄPALKKA PYTHONIA TARVITTAVISSA TYÖHÖISSÄ
    Luettelo Python-ohjelmistoista

    Tulkittua kieltä ei käännetä konekoodiksi: käskyt yksinkertaisesti suoritetaan ohjelman edetessä.

    Tulkitun kielen edut käännettyihin kieleen verrattuna:

    • Cross-platform (sinun ei tarvitse kääntää ohjelmaa kaikkeen. Kun koodi on kirjoitettu, se toimii kaikessa).
    • Dynaaminen kirjoittaminen (muuttujat itse määrittävät halutun tyypin).
    • Reflektio ja itsetutkiskelu (ohjelman kyky muokata itseään).
    • Ja paljon muuta, mikä on tarpeetonta tässä artikkelissa.

    No, haitat:

    • Vähemmän tuottavuutta (joskus paljon).
    • Ohjelman tarve - tulkki.

    No, itse Python 3:n edut:

    • Yksinkertainen ja kaunis syntaksi.
    • Suuri määrä sisäänrakennettuja ja käytettävissä olevia toimintoja.
    • Kiitos suosion suuri määrä saatavilla olevaa tietoa.

    No, opimme lyhyesti Pythonista ja sen erityispiirteistä.

    Syntaksi

    Vaikka nyt näytämme operaattorit ja rakenteet, joita et ehkä tiedä, jatko-opiskelua varten on parempi tietää ne etukäteen.

    Joten Python-syntaksi on erittäin yksinkertainen ja sopii pieneen kappaleeseen:

    • Rivin loppu - ohjeen loppu.
    • Sisäkkäiset ohjeet erotetaan pääkäskyistä sisennyksellä, ts. niitä eri määrä.
    • Sisäkkäiset ohjeet kirjoitetaan aina pääosan jälkeen kaksoispisteellä erotettuina.

    Alla on esimerkki kaikista yllä olevista:

    print("Hei, olen Python!") # tulosta merkkijono Hei, olen Python! jos 3.14< 1592: # ehdollinen operaattori(käsitellään seuraavilla oppitunneilla) print("hyvä") # ja näytä uudelleen viesti print("työ") # ja paljon muuta

    No, pari erikoistapausta:

    • Voit kirjoittaa useita ohjeita yhdelle riville. Tämä kuitenkin heikentää luettavuutta:

      x = 1,14; y = 2,0014; tulosta (x + y)

      x = 1,14; y = 2,0014; tulosta (x + y)

    • Voit kirjoittaa yhden ohjeen usealle riville. Tätä varten sinun on suljettava se pyöreisiin, neliömäisiin tai kiharaisiin suluihin:

      jos (5 > 1 ja 1< 2 and 8 == 8 and "good" != "bad"): print("it is true")

    No, nyt kirjoitetaan ensimmäinen ohjelmamme!

    Ensimmäinen ohjelma:

    Ohjelman kirjoittamiseen Python IDLE:ssä tarvitset:

    1. Avaa Python IDLE.
    2. Valitse Tiedosto -> Uusi tiedosto.
    3. Kirjoita ohjelma (koodi alla).
    4. Tallenna Ctrl + s .
    5. Suorita painamalla F5.

    Ensin kirjoitamme ja suoritamme alla olevan koodin ja analysoimme sen sitten:

    s = input("Mikä on nimesi?") print("Hei, ", s,"! Tervetuloa maailma löytämisestä! Tervetuloa Pythoniin!")

    Tällä rivillä muuttujalle s on annettu input()-funktion arvo parametrilla "Mikä on nimesi?\n" . Jos et ymmärrä kaikkea, älä huoli, kaikki selitetään yksityiskohtaisesti seuraavissa artikkeleissa.

    Toistaiseksi on vain tärkeää ymmärtää, että input()-funktio vastaanottaa näppäimistöltä syötetyn merkkijonon, ts. on syöteoperaattori, ja s saa input() :n arvon. Näemme, että käsky sijaitsee yhdellä rivillä Python-kielen sääntöjen mukaan. Muuten, "\n"-merkki on erityinen ja tarkoittaa uutta riviä.

    print("Hei, ", s,"! Tervetuloa löytöjen maailmaan! Tervetuloa Pythoniin!)

    print("Hei, ", s, "! Tervetuloa löytöjen maailmaan! Tervetuloa Pythoniin!")

    Tällä rivillä meillä on vain print()-funktio, joka on Pythonin tulosoperaattori. Kuten näemme, funktiolla on monia erilaisia ​​parametreja, jotka on tulostettava (ne on merkitty pilkuilla erotettuina).

    Katsotaanpa tyypillinen työ ohjelmia.

    NOIN Python(on parempi lausua "python", vaikka jotkut sanovat "python") - aihe Tämä tutkimus, tämän ohjelmointikielen luoja, hollantilainen Guido van Rossum, sanoo sen parhaiten:

    "Python on tulkittu, oliosuuntautunut korkean tason kieli ohjelmointi dynaamisen semantiikan avulla. Sisäänrakennetut korkean tason tietorakenteet yhdistettynä dynaaminen kirjoitus ja sitova tekevät kielestä houkuttelevan nopeaa sovelluskehitystä varten (RAD, Rapid Application Development). Lisäksi sitä voidaan käyttää skriptikielinä viestinnässä ohjelmistokomponentit. Python-syntaksi helppo oppia ja korostaa koodin luettavuutta, mikä vähentää ylläpitokustannuksia ohjelmistotuotteita. Python tukee moduuleja ja paketteja, mikä kannustaa modulaarisuuteen ja uudelleenkäyttö koodi. Python-tulkki ja suuri standardikirjasto ovat vapaasti saatavilla lähdekoodina ja suoritettavana koodina kaikille tärkeimmille alustoille, ja niitä voidaan vapaasti jakaa uudelleen."

    Tutkiessamme tämän määritelmän merkitys paljastuu, mutta toistaiseksi riittää tietää, että Python on universaali ohjelmointikieli. Sillä on hyvät ja huonot puolensa sekä käyttöalueet. Pythonissa on laaja standardikirjasto useiden ongelmien ratkaisemiseksi. Internetissä on saatavilla laadukkaita Python-kirjastoja eri tarkoituksiin aihealueita: tekstinkäsittelytyökalut ja Internet-tekniikat, kuvankäsittely, työkalut sovellusten luomiseen, tietokantojen käyttömekanismit, tieteellisen laskennan paketit, rakennuskirjastot GUI ja niin edelleen. Lisäksi Pythonilla on tarpeeksi yksinkertaisia ​​parannuskeinoja integrointiin C-, C++ (ja Java)-kielten kanssa sekä upottamalla tulkki näiden kielten ohjelmiin että päinvastoin käyttämällä näillä kielillä kirjoitettuja kirjastoja Python-ohjelmissa. Python-kieli tukee useita paradigmoja ohjelmointi: pakollinen (proseduuri-, rakenteellinen, modulaarinen lähestymistapa), olio- ja toiminnallinen ohjelmointi.

    Pythonia voidaan pitää kokonaisena teknologiana ohjelmistotuotteiden (ja niiden prototyyppien) luomiseen. Se on saatavana lähes kaikilla nykyaikaisilla alustoilla (sekä 32-bittisellä että 64-bittisellä) C-kääntäjällä ja Java-alustalla.

    Vaikuttaa siltä, ​​että ohjelmistoteollisuudessa ei ole tilaa millekään muulle kuin C/C++:lle, Javalle, Visual Basicille ja C#:lle. Se ei kuitenkaan ole. Ehkä kiitos tämän luentokurssin ja käytännön luokat Python saa uusia seuraajia, joille siitä tulee välttämätön työkalu.

    Kuinka kuvailla kieltä?

    Tällä luennolla ei pyritä kuvaamaan Pythonia systemaattisesti, vaan siihen on olemassa alkuperäinen opas. Tässä ehdotetaan harkitsemaan kieltä useista näkökohdista samanaikaisesti, mikä saavutetaan esimerkkijoukolla, jonka avulla voit nopeasti tutustua todelliseen ohjelmointiin kuin tiukan akateemisen lähestymistavan tapauksessa.

    On kuitenkin syytä kiinnittää huomiota oikeaan lähestymistapaan kielen kuvauksessa. Ohjelman luominen on aina viestintää, jossa ohjelmoija välittää tietokoneelle suorittamiseen tarvittavat tiedot viimeinen toimenpide. Tapa, jolla ohjelmoija ymmärtää nämä toimet (eli "merkityksen"), voidaan kutsua semantiikka. Keino tämän merkityksen välittämiseksi on syntaksi ohjelmointikieli. No, mitä tulkki tekee läpäisyn perusteella, kutsutaan yleensä nimellä pragmatiikkaa. Ohjelmaa kirjoitettaessa on erittäin tärkeää, että tässä ketjussa ei ole vikoja.

    Syntaksi on täysin formalisoitu osa: se voidaan kuvata muodollinen kieli syntaksikaaviot (mikä on mitä tehdään viiteoppaat). Pragmatiikan ilmaisu on kielen tulkki itse. Hän lukee syntaksin mukaisesti tallennetun "viestin" ja muuttaa sen toimiksi siihen upotetun algoritmin mukaisesti. Ainoa epämuodollinen komponentti on semantiikka. Ohjelmoinnin suurin vaikeus piilee merkityksen kääntämisessä muodolliseksi kuvaukseksi. Pythonin syntaksissa on tehokkaita ominaisuuksia, jotka auttavat tuomaan ohjelmoijan käsityksen ongelmasta lähemmäksi tulkin "ymmärrystä" siitä. NOIN sisäinen rakenne Python käsitellään yhdessä viimeisistä luennoista.

    Python-kielen historia

    Pythonin aloitti Guido van Rossum vuonna 1991, kun hän työskenteli hajautetun Amoeba-käyttöjärjestelmän parissa. Hän tarvitsi laajennettavan kielen, joka tarjoaisi tukea järjestelmäpuheluille. ABC ja Modula-3 otettiin perustaksi. Hän valitsi Pythonin nimeksi BBC:n komediasarjan Monty Python's Flying Circus kunniaksi, eikä ollenkaan käärmeen nimen jälkeen. Siitä lähtien Python on kehittynyt niiden organisaatioiden tuella, joissa Guido työskenteli. Kieltä kehitetään erityisen aktiivisesti tällä hetkellä, kun sen parissa työskentelee paitsi tekijöiden tiimi, myös kokonainen ohjelmoijien yhteisö eri puolilta maailmaa. Viimeinen sana kielen kehityksen suunnasta on kuitenkin Guido van Rossumilla.