Grisegutt Skrevet 6. april 2005 Del 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. Lenke til kommentar
zeitgeist Skrevet 6. april 2005 Del 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. Lenke til kommentar
Grisegutt Skrevet 6. april 2005 Forfatter Del 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 Lenke til kommentar
Grisegutt Skrevet 7. april 2005 Forfatter Del 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å). Lenke til kommentar
A_N_K Skrevet 7. april 2005 Del 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 -*- Lenke til kommentar
zeitgeist Skrevet 7. april 2005 Del 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. Lenke til kommentar
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å