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)
Oma moduuli pythoniin
14
350
Vastaukset
- 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
Oletko lukenut dokumentaatiota: https://docs.python.org/3/tutorial/modules.html
- 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 definedTarkoittaa 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
Perintovero 100 prosenttiin, työeläkkeet ja maataloustuet pois
Noilla eväillä lähden tasapainottamaan valtiontaloutta ja korjaamaan työntekijöiden palkkakuoppaa nostamatta työnantajie2345757Riikka runnoo: polttoöljyn hinta nousi maaliskuussa 40 prosenttia
Onko irvistelijällä sakset hävinneet, vai miksei osaa leikata polttoaineiden hintaa kansalaisten kukkarolle sopivalle ta453832Purra ryöväsi Marinin Itä.-Suomelle neuvottelemat EU-rahat
Perust vihaavat suomalaisia, mutta eritoten itäsuomalaisia. "Osa kaksikäyttörahoista on alun perin Itä- ja Pohjois-Suom323208Miksi persut hyökkäävät jatkuvasti henkilöitä päin?
Miksei persut yritä lainkaan korjata asioita, vaan koko ajan haukkuvat henkilöitä? Ei tuollaisilla turvanpieksäjillä ole563101Demariskandaali! Eveliina Heinäluoma (sdp) kahmii kaikki Hitas asunnot itselleen!
Heinäluoma on ostanut useita yhteiskunnan tukemia, hintasäännösteltyjä asuntoja itselleen! Ei ihme, että Hitas on ollut1592914Seida Sohrabi: Suomi ei ole rasistinen maa
Seidalta taas täyttä asiaa. Miksi punavihreät naiset eivät pysty samaan - no se ideologia estää. "Meillä on valitettava372753Mökkejä ostellaan nyt ihan hulluna!
Tyypilliset lainamäärät on yli 500 000€ mökkejä ostellessa eli erityisesti tuollaiset miljoonamökit on nyt suomalaisten892723Demarien sanoin kuvaamaton ahneus - Eveliina Heinäluoma vain yksi esimerkki
Mutta näin se on demari-eliitissä aina ollut, käytännössä siis nämä eliittiin kuuluvat ovat puhtaasti porvareita - Marin732419Ranskan vasemmistojohtaja tunnustaa, että väestö on vaihtumassa
ja se on vaan hyvä asia hänen mielestään. Kyseessä siis Ranskan vasemmistojohtaja Jean-Luc Mélenchon jonka puheet järkyt742060Abdullah iski Citycenterin vessassa
Miksi näitä juttuja pitää lukea lähes päivittäin? https://www.hs.fi/helsinki/art-2000011913632.html1842004