Oma moduuli pythoniin

Anonyymi

Miten tulisi menetellä että seuraavat funktiot toimisi. Haluaisin tehdä oman moduulin pythoniin, jossa olisi nämä alla olevat ja paljon muita näppäriä funktioita.

print(morse_aakkoset)
print(aakkoset_lowercase)
print(aakkoset_uppercase)
print(aakkoset_all)

14

347

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Tee kotisivullesi kirjasto finktioistasi esim. funktiot.py tiedostoon. Siis def print1(x): jne...

      Sitten vaan muissa ohjelmissasi:
      from funktiot import print1,print2,print3,jne...

      Tee aluksi vain yksi helppo funktio ja kokeile sillä. Lue virheilmoitukset tarkkaan ja mieti mikä meni väärin. Korjaa.

    • Anonyymi
      • Anonyymi

        python
        import mystring
        print(aakkoset_lowercase)

        Miksiköhän tämä sanoo:
        NameError: name 'aakkoset_lowercase' is not defined


      • Anonyymi
        Anonyymi kirjoitti:

        python
        import mystring
        print(aakkoset_lowercase)

        Miksiköhän tämä sanoo:
        NameError: name 'aakkoset_lowercase' is not defined

        Tarkoittaa ettei sitä ole määritelty.

        Python 3.7.5 (default, Apr 19 2020, 20:18:17)
        [GCC 9.2.1 20191008] on linux
        Type "help", "copyright", "credits" or "license" for more information.
        >>> print(a)
        Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        NameError: name 'a' is not defined
        >>> a="pölöpölö"
        >>> print(a)
        pölöpölö
        >>>


      • Anonyymi

        Toisessa moduulissa olevaan muuttujaan viitataan laittamalla ensin moduulin nimi, sitten piste ja perään muuttuja.

        moduuli.muuttuja

        Jos moduuli.py sisältää vaikka:
        x="Äks"

        Niin sitä sitten käytetään näin:
        import moduuli
        print(moduuli.x)


      • Anonyymi
        Anonyymi kirjoitti:

        Toisessa moduulissa olevaan muuttujaan viitataan laittamalla ensin moduulin nimi, sitten piste ja perään muuttuja.

        moduuli.muuttuja

        Jos moduuli.py sisältää vaikka:
        x="Äks"

        Niin sitä sitten käytetään näin:
        import moduuli
        print(moduuli.x)

        import moduuli

        Tuon komennon pitäisi tuoda ohjelmaan kerralla kaikki, mitä moduuli sisältää. Mutta nyt on niin että juuri tuo kaiken tuominen ei toimi omista moduuleista tuotaessa, sen sijaan joutuu osoittamaan mudullista sen yksittäisen osan, joka otettaan ohjelmaan mukaan. Ja tämä tässä ihmetyttää miksi se on näin.


      • Anonyymi
        Anonyymi kirjoitti:

        import moduuli

        Tuon komennon pitäisi tuoda ohjelmaan kerralla kaikki, mitä moduuli sisältää. Mutta nyt on niin että juuri tuo kaiken tuominen ei toimi omista moduuleista tuotaessa, sen sijaan joutuu osoittamaan mudullista sen yksittäisen osan, joka otettaan ohjelmaan mukaan. Ja tämä tässä ihmetyttää miksi se on näin.

        Muuttujat on moduulikohtaisia.


      • Anonyymi
        Anonyymi kirjoitti:

        Toisessa moduulissa olevaan muuttujaan viitataan laittamalla ensin moduulin nimi, sitten piste ja perään muuttuja.

        moduuli.muuttuja

        Jos moduuli.py sisältää vaikka:
        x="Äks"

        Niin sitä sitten käytetään näin:
        import moduuli
        print(moduuli.x)

        EI KUN olet oikeassa, noinhan se juuri menee kaikissa moduuleissa.

        Nyt puhuttiin omasta mystring.py moduulista. Pyython sisältää alkuperäisen string.py moduulin, ja sehän toimii just samalla tavalla kuin tuo omakin moduuli.

        import string
        print(string.ascii_lowercase)
        'abcdefghijklmnopqrstuvwxyz'

        import mystring
        print(mystring.aakkoset_lowercase)
        'abcdefghijklmnopqrsštuvwxyzžåäö'

        Mitä minä oikein sekoilen, kaikkihan toimii aivan oikein.


      • Anonyymi
        Anonyymi kirjoitti:

        Muuttujat on moduulikohtaisia.

        Näinhän se on nähtävä. Tuota moduuliani suunnitellessa nimesin tuon (aakkoset_lowercase) mutta kun se nyt noin pitää esitellä moduulin kera niin ei ole mitään haittaa vaikka käyttäisi täysin samaa nimeäkin (ascii_lowercase).


    • Anonyymi

      Pythoni oli ennen iso kakka, semmonen käärmeen oloinen.

      • Anonyymi

        Nykyään sellainen on Iinuks.


    • Anonyymi

      Nyt sitten merkillinen havainto, importin suhteen, tämä alla oleva TOIMII

      python
      from mystring import aakkoset_lowercase
      print(aakkoset_lowercase)

    • Anonyymi

      Miksiköhän ei saa käyttää

      import mystring

      Noi ei tule mitään virhettä, mutta mikään ei toimikkaan. Jostakin syystä oma moduuli ei ole yhden vertainen muiden kanssa.

    • Anonyymi

      Asia on ratkennut, suuret kiitokset pythonin taitajille.

      T. ap.

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

    Luetuimmat keskustelut

    1. Riikka ei suostu laskemaan bensan hintaa

      Sanna laski esimerkiksi sähkön arvonlisäveron 10 prosenttiin, jonka Riiikka anosti 25,5 prosenttiin. Sannan aikaan bens
      Maailman menoa
      168
      3805
    2. Maahanmuuttajien vaikutus Suomen valtiontalouteen positiivinen

      Maahanmuuttajat maksavat enemmän tuloveroja kuin saavat tulonsiirtoja. Eroavat persuista tässä suhteessa. Persuista o
      Maailman menoa
      27
      3120
    3. EK: Suomi tarvitsee vuosittain 45 000 maahanmuuttajaa

      Senpä takia Riikkakin laulaa sen lauluja kenen leipää syö. Viime vuonnahan Suomeen muutti 50 tuhatta ulkomaalaista. htt
      Maailman menoa
      229
      2652
    4. Kesäaika on normaaliaika...

      ...siten illalla on valoisaa tunnin pitempään, on sitten kesä tai talvi. Voi nauttia päivän jatkumisesta. Kuka nyt aamul
      Maailman menoa
      247
      2207
    5. Uusin tutkimus: Suomi on maailman toiseksi vähin rasistinen maa

      taakse jää mm. Ruotsi(7) ja Norja(8). Martin Paasi(kok.): Kumoaa vasemmiston väitteet. Kansainvälinen vertailu osoitta
      Maailman menoa
      76
      1923
    6. Ähtärin päättäjät

      Nyt tulee kutsu leivättömän pöydän äärelle. Syytteet nostetaan. https://www.iltalehti.fi/kotimaa/a/cef83309-0a1b-4fcd-9b
      Ähtäri
      53
      1347
    7. Ketkä 8 Ähtärin luottamushenkilöä saivat syytteen virka_aseman väärinkäyttämisestä?

      Nyt näiden valtuutettujen nimet esiin, kiitos! Nämä henkilöt pitää yksinkertaisesti laittaa syrjään Ähtärin kaupunginva
      Ähtäri
      27
      1311
    8. Tulen hulluksi hänestä

      Hän on vanha ja varattu. Mutta olen ihan hulluna häneen. Haluan hänet omakseni. Haluan olla hänen kanssaan ajasta ikuisu
      Ikävä
      70
      1198
    9. Ensimmäinen kuukausi palkatatta

      Siis ei jumankauta näitä kokoomuksen ehdoituksia. Nytkin joku Otto Meri ehdoittaa, että ensimmäinen kuukausi pitäisi ty
      Kansallinen Kokoomus
      94
      1035
    10. Miltä tuntuu kun

      On asioita joita ei rahalla voi ostaa?
      Ikävä
      109
      919
    Aihe