Ik ben bezig met het leren met Python, en tot nu toe was het allemaal heel eenvoudig, tot ik bij classes terecht kom. Ik heb al veel tutorials gelezen, maar door al die termen raak ik in de war. Ik heb het volgende script gemaakt, maar ik snap er niet zoveel van:
Wat vragen:
Wat doet die x in except TeKortException, x: ?
Hoe zit het nou precies met self? Ik snap nog steeds niet wat die rpecies "doet", als parameter en als begin van een variabele.
Begrijp ik het goed dat er al een "ingebouwde" class Exception is?
En nog wat over de terminologie:
Dan is variable = 'hallowereld' een object van Klasse, specifieker een field.
functie(self) een object van klasse, specifieker een method.
x = Klasse() is een instance
Bij x.functie() is functie() een attribuut.
Klopt dit allemaal?
Ik zou erg geholpen zijn als iemand deze vragen kon beantwoorden. Alvast bedankt!
code:
1
2
3
4
5
6
7
8
9
10
11
12
| class TeKortException(Exception):
def __init__(self, length, assumed):
Exception.__init__(self)
self.length = length
self.assumed = assumed
try:
s = raw_input('Typ eens wat, doe eens leuk. ')
if len(s) < 3:
raise TeKortException(len(s),3)
except TeKortException, x:
print 'Je invoer was %d lang, het moest toch echt %d lang zijn.' % (x.length,x.assumed) |
Wat vragen:
Wat doet die x in except TeKortException, x: ?
Hoe zit het nou precies met self? Ik snap nog steeds niet wat die rpecies "doet", als parameter en als begin van een variabele.
Begrijp ik het goed dat er al een "ingebouwde" class Exception is?
En nog wat over de terminologie:
code:
1
2
3
4
5
6
7
| class Klasse:
variable = 'hallowereld'
def functie(self):
print 'Hey!'
x = Klasse()
x.functie() |
Dan is variable = 'hallowereld' een object van Klasse, specifieker een field.
functie(self) een object van klasse, specifieker een method.
x = Klasse() is een instance
Bij x.functie() is functie() een attribuut.
Klopt dit allemaal?
Ik zou erg geholpen zijn als iemand deze vragen kon beantwoorden. Alvast bedankt!