Python - mitä sillä todella voi tehdä?

Pythonisti

Python on siis tulkki. Voiko sillä tehdä todellisia kunnon asiakassovelluksia, jos asiakkaalla täytyy olla myös tulkki asennettuna? Mihin Pythonia todella käytetään? Outoa myös, että kielestä puuttuu esim. array eli taulukot. Python ei ole tyypitetty, oppiiko siinä huonon kurittoman ohjelmointitavan kuten basicissa?
Onko Python-hypetyksellä katetta? Ilmeisesti on...

19

3154

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Affiliate-Julkaisia

      Mitä sinä meinaat ?

      myList=[1,2,3,4,5,6]
      print (myList[2])

      tulostaa 3 koska indeksi alkaa nollasta ja taulukostahan siinä on kysymys.

      • Pythoven

        Tarkoitan esim. tällaista taulukon käyttöä enkä listaa

        perusta taulukko(10)

        for n = 1 to 10
        input käyttäjältä numero
        taulukko(n) = numero

        Keskiarvo = kutsu Aliohjelma Laske listan numeroiden keskiarvo

        Basicissa ja Delphissä tämä onnistuu vaivattomasti, mutta entä Pythonissa? Antamasi Python lista-esimerkki ei oikein sovellu tällaiseen.


      • Affiliate-Julkaisia

        #!/usr/bin/python

        Table = [];
        Count = 0;

        def Tulosta():
        Count = 0;
        for Count in xrange(4): print(Table[Count])


        for Count in xrange(4):
        x = int(input("Anna seuraava luku: ")); Table.append(x);

        Tulosta()


      • Affiliate-Julkaisia
        Affiliate-Julkaisia kirjoitti:

        #!/usr/bin/python

        Table = [];
        Count = 0;

        def Tulosta():
        Count = 0;
        for Count in xrange(4): print(Table[Count])


        for Count in xrange(4):
        x = int(input("Anna seuraava luku: ")); Table.append(x);

        Tulosta()

        HUOM:

        python on tarkka myös rivien alkumerkeistä, katosivat tyhjät pois, jos tuon kopioit ei toimi.

        Käy tuolta:

        http://paste.ofcode.org/afSxeRaF4XsDbJaXmkpdsc


      • listataulukko
        Pythoven kirjoitti:

        Tarkoitan esim. tällaista taulukon käyttöä enkä listaa

        perusta taulukko(10)

        for n = 1 to 10
        input käyttäjältä numero
        taulukko(n) = numero

        Keskiarvo = kutsu Aliohjelma Laske listan numeroiden keskiarvo

        Basicissa ja Delphissä tämä onnistuu vaivattomasti, mutta entä Pythonissa? Antamasi Python lista-esimerkki ei oikein sovellu tällaiseen.

        taulukko[] = [0]*10
        alustaa listan alkiot 0...9 arvolla 0 (yleensä muutkin kielet alustavat taulukot oletusarvolla tai ne pitää itse alustaa)
        Alkioihin voidaan viitata esim taulukko[4] = 3

        Kyseessä on lista, mutta voidaan käyttää kuin taulukkoa.
        Huomaa että listan alkioiden tyyppiä ei ole määrätty.


      • C-koodari
        Pythoven kirjoitti:

        Tarkoitan esim. tällaista taulukon käyttöä enkä listaa

        perusta taulukko(10)

        for n = 1 to 10
        input käyttäjältä numero
        taulukko(n) = numero

        Keskiarvo = kutsu Aliohjelma Laske listan numeroiden keskiarvo

        Basicissa ja Delphissä tämä onnistuu vaivattomasti, mutta entä Pythonissa? Antamasi Python lista-esimerkki ei oikein sovellu tällaiseen.

        Eikös tuo ole juuri niitä asioita, mitkä sopii Pythonille kuin nenä päähän. Liekö sillä sitten väliä kutsutaanko kompenttia listaksi, taulukoksi, vai miksi.

        ----
        import numpy as np

        taulukko = np.zeros(10)

        for i in range(len(taulukko )):
        taulukko [i] = input("%s. Numero: " % (i 1))

        print("Keskiarvo: %s" % (np.average(taulukko )))
        ----

        Mitä alkuperäiseenkysymykseen tulee, niin olen käyttänyt muutamissa ajoitetuissa skriptisteissä Pythonia, (lähinnä parsii tiedostoja). Yksi ajaa dataa tietokantaan, yksi luo Excel tiedoston, yksi luo PDF raportin, jne. Mm. syitä mitkä ovat puoltaneet Pythonia, joissakin tapauksissa:

        - Ei tarvitse metsästää lähdekoodia ja kääntäjää jos tulee tarve muokata
        - Asetukset voi laittaa lähdekoodin alkuun
        - Ei tarvitse tuskailla tyyppityksen kanssa
        - Valmiita komponentteja kivasti saatavilla

        Mielestäni sopii hyvin datan analysointiin ja esittämiseen, jos ei mitään huimaa nopeutta vaadi...


      • C-koodari kirjoitti:

        Eikös tuo ole juuri niitä asioita, mitkä sopii Pythonille kuin nenä päähän. Liekö sillä sitten väliä kutsutaanko kompenttia listaksi, taulukoksi, vai miksi.

        ----
        import numpy as np

        taulukko = np.zeros(10)

        for i in range(len(taulukko )):
        taulukko [i] = input("%s. Numero: " % (i 1))

        print("Keskiarvo: %s" % (np.average(taulukko )))
        ----

        Mitä alkuperäiseenkysymykseen tulee, niin olen käyttänyt muutamissa ajoitetuissa skriptisteissä Pythonia, (lähinnä parsii tiedostoja). Yksi ajaa dataa tietokantaan, yksi luo Excel tiedoston, yksi luo PDF raportin, jne. Mm. syitä mitkä ovat puoltaneet Pythonia, joissakin tapauksissa:

        - Ei tarvitse metsästää lähdekoodia ja kääntäjää jos tulee tarve muokata
        - Asetukset voi laittaa lähdekoodin alkuun
        - Ei tarvitse tuskailla tyyppityksen kanssa
        - Valmiita komponentteja kivasti saatavilla

        Mielestäni sopii hyvin datan analysointiin ja esittämiseen, jos ei mitään huimaa nopeutta vaadi...

        Harvemmin nopeus ollut missään ongelma viimeisen seitsemän vuoden aikana.


      • M-Kar kirjoitti:

        Harvemmin nopeus ollut missään ongelma viimeisen seitsemän vuoden aikana.

        Jos edes aikaisemminkaan..


      • C-koodari
        M-Kar kirjoitti:

        Jos edes aikaisemminkaan..

        Ei se silloin ongelma olekkaan jos on aikaa odottaa. Kun laskennan valmistuminen alkaa kestää minuutti tolkulla, niin kyllä se laittaa v**uttamaan silloin kun pitää tulosta odottaa, tietäen samalla C :n ja jopa Javan vetävän saman asian 1/100 ajassa.


      • C-koodari kirjoitti:

        Ei se silloin ongelma olekkaan jos on aikaa odottaa. Kun laskennan valmistuminen alkaa kestää minuutti tolkulla, niin kyllä se laittaa v**uttamaan silloin kun pitää tulosta odottaa, tietäen samalla C :n ja jopa Javan vetävän saman asian 1/100 ajassa.

        Niin siis laskennallahan homma menee niin, että menee alle sekunti, alle 10 sekuntia, kahvitauko, lounastauko, illan yön aikana, viikonlopun aikana jne. Moniajo kiva homma.


        Toki joo se työkalu kannattaa valita oikein, että jos laskettavaa on valtavia määriä että veisi aikaa vaikka algoritmi olisi kunnossa niin ihan tavallisesti käytetään juurikin jotain C :aa tai Javaa, tilanteesta riippuen.

        Tämä on aika käytetty palikka: http://openmp.org/wp/

        Itse käyttänyt tietokoneita aika raskaasti vuosikymmeniä mutta juurikin se moniajo oli se mahtijuttu joka poisti laskennan harmit koska laskennan pystyi aina tekemään taustalla. Käytännössä ~kaikki onnistui aina oikein valitulla työkalulla ja approksimaatiolla. Toki sitä laskennan tarkkuutta on voitu parantaa mutta suurin vitutus loppui tähän. Se mikä teki vitutusta oli ennen muinoin järjestelmien epäluotettavuus. Kaikki laskenta piti oikeastaan saada palasteltua alle vuorokauden mittaisiin osiin mutta kyllähän sekin helpotti sitten pian.

        Enemmän vitutti tuo tietoliikennepuoli kun tässä ei ollut moniajoa. Sitten kun sai IP verkon niin homma parani kivasti ja tässä se vitustus loppui siinä kohtaa kun pääsi minuuttitaksoista eroon.


      • C-koodari kirjoitti:

        Ei se silloin ongelma olekkaan jos on aikaa odottaa. Kun laskennan valmistuminen alkaa kestää minuutti tolkulla, niin kyllä se laittaa v**uttamaan silloin kun pitää tulosta odottaa, tietäen samalla C :n ja jopa Javan vetävän saman asian 1/100 ajassa.

        On vähän sellainen niksi, että on olennaista pitää koodin muokkaus nopeana ja sitten kun se valmis ja toimii niin ei sillä niin väliä kauan se laskee.


    • "Python on siis tulkki."

      Kyllä.

      "Voiko sillä tehdä todellisia kunnon asiakassovelluksia"

      Kyllä.

      "jos asiakkaalla täytyy olla myös tulkki asennettuna?"

      Sehän on yleensä vakiona käyttöjärjestelmissä.

      "Mihin Pythonia todella käytetään?"

      Aika perinteinen "glue -language" ja sellainen missä ensisijaisen tärkeätä on kaunis koodi. Sitä käytetään myös sovellusten lisäpalikoiden tekemisessä, esim. vaikka Blenderiin.

      https://www.python.org/about/success/

    • sfsfwfewefwef

      Kaikki ohjelmointikielet ovat "tulkkeja", joilla ihminen kääntää jotain konekielelle, jota tietokone ymmärtää ja käyttää.

    • 102030405060

      Jonkin verran pythonia käytettäneen myös web pohjaisten sovelluksien kehityksessä.

    • Affiliate-Julkaisia

      Tässä vähän muunneltuna, mutta paremmin vastaa kysymykseen, huomaa koodin vähyys, vaikka tulostetaan taulukon sisältö ja keskiarvo:

      #!/usr/bin/python

      Table = [];
      Count = 0;

      def average(numbers):
      return float(sum(numbers)) / max(len(numbers), 1)

      def Tulosta():
      print("Lukujen ", Table , " Keskiarvo: ", average(Table))

      for Count in range(4):
      x = int(input("Anna seuraava luku: ")); Table.append(x);

      Tulosta()

      Koska tuosta katoaa rivin alut, löytyy se myös tuolta:

      http://paste.ofcode.org/yqEgPJEd562Q6CEgeSQHzA

      Tuossa kannattaa Delphin taitajan huomioida että aliohjelmien esittely järjestyksellä ei ole väliä, delphissä sillä on.

      • Delphi... hehheh..

        Nykypäivän välineillä yleisesti ottaen tarvitsee vähän koodia. Sitä vähän niinkuin on pyrittykin siihen.


      • M-Kar kirjoitti:

        Delphi... hehheh..

        Nykypäivän välineillä yleisesti ottaen tarvitsee vähän koodia. Sitä vähän niinkuin on pyrittykin siihen.

        Tai no, helposti enemmän vaikuttaa se kuka sen koodin tekee.


      • Affiliate-Julkaisia
        M-Kar kirjoitti:

        Tai no, helposti enemmän vaikuttaa se kuka sen koodin tekee.

        noJaa, ajattelin että joku perl osaaja ehken saa vastaavan tehtyä näyttävästi vieläkin vähemmällä kirjottamisella. perl -koodi on vaan yhtä sekamelskaa, kammottavaa luettavaa.


      • Affiliate-Julkaisia kirjoitti:

        noJaa, ajattelin että joku perl osaaja ehken saa vastaavan tehtyä näyttävästi vieläkin vähemmällä kirjottamisella. perl -koodi on vaan yhtä sekamelskaa, kammottavaa luettavaa.

        Koodista tulee yleensä kaunista kun sitä on vähän ja tuollaisen tekisi Perlillä elegantisti, vähällä koodilla.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Purra hyökkää nyt suomalaisen duunarin kimppuun teettämällä mamuilla palkatonta työtä

      Niinpä niin. Persut duunaripuolue, HAH. Joko alkaa kovapäisinkin persu älyämään, että persut ovat Suomen kansan vastain
      Maailman menoa
      432
      12897
    2. Purra ehdottaa vaan Tanskan mallia, joka on erittäin hyvä malli

      Purra ehdotti helmikuussa Suomeen Tanskan mallia, jossa maahanmuuttajilta vaaditaan työntekoa sosiaalitukien saamiseksi.
      Maailman menoa
      274
      5623
    3. Kokoomusnuoret: Sosiaalitukien työvelvoitteen tulisi koskea kaikkia

      Riikka Purra on esittänyt, että maahanmuuttajilta tulisi edellyttää palkatonta työtä sosiaalitukien vastineeksi. Kokoom
      Maailman menoa
      261
      4239
    4. Purra vaatii: Työvelvoite maahanmuuttajille ja kantasuomalaisille pitkäaikaistyöttömille

      Jos Perussuomalaiset ja Kokoomus ovat seuraavan hallituksen kaksi johtavaa puoluetta, on suomalaisille pitkäaikaistyöttö
      Perussuomalaiset
      331
      3509
    5. Jyrki Linnankivi, Jyrki 69 - Goottirokkarista kirkonmieheksi Lappiin!

      Jyrki Linnankivi eli Jyrki 69 on The 69 Eyes -rockyhtyeen vokalisti. Lauluhommien lisäksi hän sanoittaa, säveltää ja sov
      Työ ja opiskelu
      26
      2176
    6. Onnea Maria ja Vilma Amazing Race -voitosta!

      Maria Guzenina ja Vilma Vähämaa voittivat Amazing Race Suomi -kisan. Voiton hetkellä Guzenina paljasti, miksi valitsi Vi
      Tv-sarjat
      20
      1960
    7. Juhana Vartiainen(ex-sd): Köyhien pitää tehdä jotain elämälleen säilyttääkseen tukensa

      Juhana Vartiainen ehdottaa Suomeen ”Tanskan mallia”, jossa sosiaaliturvaa saadakseen pitäisi hakea ensisijaisesti etuuks
      Maailman menoa
      126
      1882
    8. Persujen kannatusromahduksen syynä bensan ja kaljan hinnan nostot

      Marinin aikaan bensalitra 1,3e ja laatikon Sandelsia sai Lidlistaä 22 eurolla. Nyt hinnat ovat nousseet noin 50 prosent
      Maailman menoa
      14
      1746
    9. En ymmärrä näitä SDP:n ja muun vasemmiston kannattajia

      Eivätkö ihmiset tiedä, että Suomen ongelmat johtuvat vasemmistolaisesta yhteiskuntamallista? Suomessa on ollut vasemmis
      Maailman menoa
      86
      1401
    10. Mikä on mielestäsi paras miestyyppi?

      Esimerkit kärjistettyinä: a) perustavallinen/tasainen b) himourheilija c) varakas, turvallinen elättäjä d) puolikrimina
      Ikävä
      183
      1129
    Aihe