Grisegutt Skrevet 6. april 2005 Skrevet 6. april 2005 Kan noen forklare meg hva return er og gjør i praksis i en egendefinert funksjon? For eksempel, kan noen forklare meg hva som skjer her: def addering(a,b): print a+b print"tre pluss fire = ",addering(3,4) Eg skrev print a+b i stedet for return a+b. Eneste forskjellen er at eg får litt forskjellig output. Når eg bruker instruksjonene som skrevet ovenfor, får eg: >>> tre pluss fire = 7 none --------------- HVA gjør den "none" greien der? Den forsvinner når eg bruker return a+b i steden for print a+b, men eg skjønner ikke hvorfor.
zeitgeist Skrevet 6. april 2005 Skrevet 6. april 2005 Du har definert en funksjon som ikke returnerer noe, men i Python vil alle funskjoner implisitt returnerere None (nulldatatype) None er ofte praktisk.
Grisegutt Skrevet 6. april 2005 Forfatter Skrevet 6. april 2005 ti_var = 10 b_var = 15 e_var = 25 def a_func(ti_var): print "in a_func ti_var = ",ti_var b_var = 100 + ti_var d_var = 2*ti_var print "in a_func b_var = ",b_var print "in a_func d_var = ",d_var return b_var +100 c_var = a_func(e_var) print print "ti_var =",ti_var print "b_var = ",b_var print "c_var = ",c_var print "d_var = ",d_var Å takk og pris for svaret ditt zg, det hjalp meg til å forstå koden ovenfor. Korttidshukommelsen min har kortsluttet opptil flere ganger de siste dagene på grunn av koden ovenfor, og nå endelig forstår eg det. Slik tilfredsstillelse i sjelen kan eg knapt huske å ha opplevd. Hilsen en som kan sveve til sengs
Grisegutt Skrevet 7. april 2005 Forfatter Skrevet 7. april 2005 En annen ting eg lurer på, etter eg har skrevet et program i et pythonvindu og skal kjøre det, så kommer det av og til opp en melding om "NON-ASCII found, yet no encoding declared. Add a line like # -*- coding: cp1252 -*-. Chose OK to save this file as cp1252. " Hva gjør eg galt? Synes det er langt bedre å ikke få den meldingen (det hender det også).
A_N_K Skrevet 7. april 2005 Skrevet 7. april 2005 En annen ting eg lurer på, etter eg har skrevet et program i et pythonvindu og skal kjøre det, så kommer det av og til opp en melding om "NON-ASCII found, yet no encoding declared. Add a line like # -*- coding: cp1252 -*-. Chose OK to save this file as cp1252. " Hva gjør eg galt? Synes det er langt bedre å ikke få den meldingen (det hender det også). Dvs. at kildekoden til programmet er i en annen enkoding enn ASCII, noe som må deklareres. F.eks hvis du bruker UTF-8 kan du legge til en slik linje øverst i koden: # -*- coding: utf-8 -*-
zeitgeist Skrevet 7. april 2005 Skrevet 7. april 2005 En annen ting eg lurer på, etter eg har skrevet et program i et pythonvindu og skal kjøre det, så kommer det av og til opp en melding om "NON-ASCII found, yet no encoding declared. Add a line like # -*- coding: cp1252 -*-. Chose OK to save this file as cp1252. " Hva gjør eg galt? Synes det er langt bedre å ikke få den meldingen (det hender det også). Ja, dette dukket opp i v 2.3, tror jeg. Typisk ved bruk av norske tegn som æøåÆØÅ. Jeg gjør akkurat det A_N_K foreslår.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå