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

157

    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. Mitään järkeä?

      Että ollaan erillään? Kummankin pää on kovilla.
      Ikävä
      120
      1747
    2. Noniin rakas

      Annetaanko pikkuhiljaa jo olla, niin ehkä säilyy vienot hymyt kohdatessa. En edelleenkään halua sulle tai kenellekään mi
      Ikävä
      99
      1568
    3. Lasten hyväksikäyttö netissä - Joka 3. nuori on saanut seksuaalisen yhteydenoton pedofiililtä

      Järkyttävää! Lapsiin kohdistuva seksuaalinen hyväksikäyttö verkossa on yhä pahempi ongelma. Ulkolinja: Lasten hyväksikäy
      Maailman menoa
      45
      1081
    4. Kumpi vetoaa enemmän sinuun

      Kaivatun ulkonäkö vai persoonallisuus? Ulkonäössä kasvot vai vartalo? Mikä luonteessa viehättää eniten? Mikä ulkonäössä?
      Ikävä
      41
      932
    5. Multa sulle

      Pyörit 24/7 mielessä, kuljet mun mukana, mielessä kyselen sun mielipiteitä, vitsailen sulle, olen sydän auki, aitona. M
      Ikävä
      29
      919
    6. Nainen, olen tutkinut sinua paljon

      Salaisuutesi ei ole minulle salaisuus. Ehkä teimme jonkinlaista vaihtokauppaa kun tutkisimme toisiamme. Meillä oli kumm
      Ikävä
      50
      846
    7. Mies, eihän sulla ole vaimoa tai naisystävää?

      Minusta tuntuu jotenkin, että olisit eronnut joskus, vaikka en edes tiedä onko se totta. Jos oletkin oikeasti edelleen s
      Ikävä
      44
      802
    8. Olet myös vähän ärsyttävä

      Tuntuu, että olet tahallaan nuin vaikeasti tavoiteltava. En tiedä kauanko jaksan tätä näin.
      Ikävä
      37
      780
    9. Okei nyt mä ymmärrän

      Olet siis noin rakastunut, se selittää. Onneksesi tunne on molemminpuolinen 😘
      Ikävä
      56
      768
    10. Onko sulla empatiakykyä?

      Etkö tajua yhtään miltä tämä tuntuu minusta? Minä ainakin yritän ymmärtää miltä sinusta voisi tuntua. En usko, että olet
      Ikävä
      37
      760
    Aihe