Sida 1 av 1
Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 00:05
av Chippen
jag hålle rpå att lära mig python (jag vet jag lära mig både python och java paralellt, men främst python, java bara när jag har tråkigt

)
men jag har en fundering
säg att man har en fuktion som se ut såhär:
låt nu säga att jag vill kunna använda d utanför funktionen då kan jag ju skriva
Kod: Markera allt
def exempel(a, b, c):
d = a + b
e = a + c
return d
men hur gör jag om jag vill kunna använda både d och e utanför funktionen?
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 00:16
av Lars
Du kan returnera en tuppel, så här:
Kod: Markera allt
def exempel(a, b, c):
d = a + b
e = a + c
return (e, d)
(e, d) = exempel(1, 2, 3)
r = exempel(1, 2, 3)
e = r[0]
d = r[1]
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 00:29
av Chippen
åå fint, en tuppel är alltså samma sak som en vektor?
jag är lite förvirrad över raden
(e, d) = exempel(1, 2, 3)
är (e, d) ett variabel namn där elle vad händer?
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 00:37
av Lars
Nja, en tuppel liknar en lista men den är "immutable", d.v.s. du kan inte ändra den efter att den skapats.
"(e,d) = exempel()" tror jag kallas tuppeluppackning eller nåt. Det fungerar bara om tuppeln har lika många element som det finns variabler på vänster sida. Så e tilldelas första elementet i tuppeln och d det andra.
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 00:43
av Chippen
aha...
så ungefär som att i den raden så skapas tuppeln och i nästa tilldelas den?
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 08:23
av Smygis
Kod: Markera allt
>>> def lol(a,b):
... return (a*a, b*b)
...
>>> hej = lol(2,3)
>>> hej[0]
4
>>> hej[1]
6
>>> (foo, bar) = lol(3,2)
>>> foo
6
>>> bar
4
(Obs, Jag har inte tillgång till en pythontolk nu så om det är något fel´där så slå mig inte.)
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 09:16
av Sprak
<Trådkapning>
Förlåt att jag kapar tråden lite. Men jag har märkt att det börjat dyka upp fler och fler Pythonfrågor här på forumet så jag känner mig lite sugen att testa själv. Vilken editor/IDE tycker ni är bra att använda? IDLE tyckte jag kändes lite för mycket 80-tal (trots att den är från mitten av 90-talet va?).
</Trådkapning>
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 09:36
av DrMegahertz
Om man gillar Emacs så kan man dra ner python-mode och på så sätt få fin syntaxmarkering och automatisk intendering för Python
sudo apt-get install python-mode
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 09:44
av Sprak
DrMegahertz skrev:
Om man gillar Emacs...
Jag har aldrig lyckats hitta min metatangenten

Finns det ingen "mordernare" editor i stil med Eclipse?
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 09:51
av DrMegahertz
Min meta-tangent visade sig vara
Alt!
Men visst finns det fullfjädrade IDE'ér för python, här är en liten lista;
http://wiki.python.org/moin/IntegratedD ... vironments
Använder dock ingen av dem själv så jag kan inte rekommendera någon..

SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 13:11
av Chippen
jag tycker det är förvirrande med alla dessa program till programmering... i python så skriver jag min kod och kör den i terminalen:
python ./minkod.py
tack för hjälpen iaf, jag förstår nu (tror jag

)
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 13:15
av Smygis
Sprak skrev:
DrMegahertz skrev:
Om man gillar Emacs...
Jag har aldrig lyckats hitta min metatangenten

Finns det ingen "mordernare" editor i stil med Eclipse?
python pluginet till Eclipse kanske.... Eller SPE:
sudo apt-get install spe
Den är ganska trevlig. Men om man bara ska börja lite så är gedit alldeles utmärkt.
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 13:32
av Sprak
Tackar, tackar
SV: Fler variabler ur en funktion i python?
Postat: 31 maj 2007, 13:34
av Chippen
Chippen skrev:
jag tycker det är förvirrande med alla dessa program till programmering... i python så skriver jag min kod i gedit och kör den i terminalen:
python ./minkod.py
tack för hjälpen iaf, jag förstår nu (tror jag

)
Edit: förvirrande gramatik ordnad...
SV: Fler variabler ur en funktion i python?
Postat: 02 jun 2007, 10:25
av jabbadoo
du kn alltid använda dig av
global
Kod: Markera allt
hej ='test'
var='ännu ett test'
def fu():
global var #visar att när du skriver varibeln var i fu så menar du den globala variabeln!
global hej #gör samma fast med hej
hej, var='nu har vi ändrat variablerna'
# du behöver inte return
fu()
print hej, var
SV: Fler variabler ur en funktion i python?
Postat: 02 jun 2007, 10:30
av Lars
jabbadoo skrev:
du kn alltid använda dig av global
Man kan ju göra så, men det är inte rätt
Globala variabler är ett otyg och man ska i de allra flesta fall undvika dem. Det kan bli väldigt svårt att följa hur globala variabler används och hur de påverkar programflödet. I ett litet kort program så fungerar det väl, men så fort programmet blir lite större så bli det en mardröm att underhålla om det finns för många globala variabler.
SV: Fler variabler ur en funktion i python?
Postat: 02 jun 2007, 10:37
av jabbadoo
det spelar ju ingen roll! om du använder (d, e) så får du lika många global variables som om du använder global hej, global var!!! jag menar inte att du bara ska använda global varibles i hela och all functioner, jag menar att man kan använda det för de data man vill ha tebax! det du inte vill ha tebax in i global sk du ju självklart itne använda global, och då får man precis lika mycket variabler som i den andra tupeln, och enligt mig lättare att hålla koll på, istället för att hela tiden komma ihåg vart alla varibler kommer i tupeln. det är mycket händigt om man ska ha inställningar och grejs

, men i slutet är det nog en smaksak
SV: Fler variabler ur en funktion i python?
Postat: 02 jun 2007, 13:47
av Chippen
tackar... jag förstår vad ni båda menar... dock tror jag att det blir lättare att följa flödet med en tuppel (men jag har å andra sidan ingen erfarenhet av nått så vad vet jag)
SV: Fler variabler ur en funktion i python?
Postat: 02 jun 2007, 15:42
av jabbadoo
som sagt, en smaksak
