Xecuter Skrevet 12. oktober 2005 Del Skrevet 12. oktober 2005 Bynte me python for et år siden. Første språket jeg lærte meg. Men så fann jeg ikke gode tutorials så det ble lite interessant. Noen som vet om gode tutorials? Med oppgaver og greier. Har allerede gådd igjennom nybegynner-tutorialen på python.org. Jeg fann ikke den tutorialen som kom med python noe interessant. Har også prøvd meg på å lage GUI, men jeg får ikke til å legge inn biblioteker å alt som trengs for det. Hva skal jeg bruke?? Lenke til kommentar
zeitgeist Skrevet 12. oktober 2005 Del Skrevet 12. oktober 2005 Du finer linker til tutorials i denne tråden: http://forum.programmer.no/index.php?showtopic=400861 For gui følger TkInter med python. Alternativer er bla. wxWidgets (søk) og pyqt. Lenke til kommentar
Gjest Slettet-8fx0y6VV Skrevet 12. oktober 2005 Del Skrevet 12. oktober 2005 Vist du sitter paa en linux boks er ogsaa PyGTK (sammen med libglade) et godt alternativ. Lenke til kommentar
Xecuter Skrevet 19. oktober 2005 Forfatter Del Skrevet 19. oktober 2005 Takker! fant mye interessant der... Jeg fant ut at jeg skulle prøve meg på Tkinter siden det allerede var med i python installasjonsfila... Men noen må forklare meg hva man bruker Class til... skjønte ikke mye av det som sto på engelsk... har ei oppfatning av at det likner mye på def, bare litt mer avansert... trenger også hjelp til å forstå hva som skal stå inni parentesene, self, __init__, særlig __init__ Takker for hjelpa hittil... Lenke til kommentar
dayslepr Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 (endret) du kan dette med funksjoner og variabler, sannt? en class er bare en sammling av en eller flere funksjoner, og en eller flere variabler .. man lager instanser av klasser .. det er kun instanser som "eksisterer" som objekter man kan gjøre noe med .. sammenlign det med ordet "Mat"; du kan ikke spise "Mat", men du kan spise "et_eple", som er en instans av klassen "Mat" (et reellt objekt) .. vi kan snakke om klassen "Sykkel" .. og en instans av den klassen kallt "min_sykkel": class Sykkel: def __init__(self, hastighet=10): # hvis ikke brukeren angir verdi for # hastighetparameteren blir den 10 self.hastighet = hastighet; min_sykkel = Sykkel() # her lages en instans av klassen "Sykkel" i form av # et objekt (variabel) "min_sykkel" min_sykkel.hastighet ..returnerer 10, fordi funksjonen __init__ blir altid automatisk kallt når man lager en instans .. class Sykkel: def __init__(self, hastighet=10): self.hastighet = hastighet; def fortere(self, okning): self.hastighet += okning min_sykkel = Sykkel(5) # hastighet blir satt til 5 min_sykkel.fortere() # hastighet øker til 8 min_sykkel.hastighet # returnerer 8 med "self" menes objektet "min_sykkel" (det som står forran ".fortere(3)" i "min_sykkel.fortere(3)" f.eks.) om du ikke er med på dette må du lese i boka flere ganger, eller finne en som passer for folk som ikke har jobbet med programmering, eller OOP før edit: foresten helt på trynet at vi fortsatt etter X antall år skriver kode med en variable-width font i denne html-boksen Endret 20. oktober 2005 av dayslepr Lenke til kommentar
dabear Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 (endret) Slenger meg på med et tilleggsspørsmål her. I mangelen av new-keywordet i python, hvordan kan du velge om du vil kalle en funksjon, eller lage en instance av et objekt? class something: pass def something(): pass test = something() Hvordan kan jeg velge mellom funksjonen og klassen her? Endret 20. oktober 2005 av dabear Lenke til kommentar
dayslepr Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 navnet `something' blir overskrevet med noe annet når den kommer til `def something()' .. da kan du ikke lengre referere til den gammle "verdien" til `something' (klassen) det må nevnes at jeg ikke har 100% oversikt over Python ennå, så det kan hende Python har flere "namespaces" for samme navn/symbol som f.eks. i Common Lisp der er det nemlig mulig at samme navn (symbol) kan refere til flere ting samtidig ut i fra kontekst: (defun test () (write-line "function, test")) (defparameter test "variable, test") (test) ; skriver ut "function, test" test ; skriver ut "variable, test" som sagt er jeg ikke 100% sikker her, altså når det gjelder Python ... det du derimot kan gjøre er å legge an en stil der du for alle klasser BrukerSlikStil, og for funksjoner brukerSlikStil .. da blir det slik: class Something: def __init__(self): print "class, something" def something(): print "function, something" >>> test = Something() class, something >>> something() function, something ..og kollisjoner ang. navn oppstår mye sjeldnere...... Lenke til kommentar
dayslepr Skrevet 20. oktober 2005 Del Skrevet 20. oktober 2005 forøvrig interesannt/betryggende lesing: class Something: def __init__(self): print "class, something" def something(): print "function, something" >>> test = Something() class, something >>> type(test) <type 'instance'> >>> test = Something >>> type(test) <type 'classobj'> >>> test = something >>> type(test) <type 'function'> >>> test = something() function, something >>> type(test) <type 'NoneType'> >>> 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å