[python-nl] extending classes

Remco Gerlich remco at gerlich.nl
Fri Apr 28 13:37:45 CEST 2006


UnrealEd wrote:

>to Eric:
>dat is uit gewoonte: in zowel Java, PHP, e.d is het de gewoonte (en bij Java
>verplicht) om de class-variabelen bovenaan de class te definiëren. ik dacht
>dat ik het hier in python ook maar zou doen. plus, het geeft een mooi
>overzicht (zeker als je er een 30-tal hebt staan :) ).
>  
>
Het valt me nu pas op wat je met self.a = str doet: je initialiseert de 
variable a door er een functie in te stoppen (str is een functie).

Dat lijkt me faliekant fout, het is lastig te lezen (lezer neemt aan dat 
de variabele a blijkbaar een functie bevat) en je krijgt exotische 
foutmeldingen als je probeert het als string te gebruiken.

Normaler zou zijn hem initialiseren naar een lege string of zo (self.a = 
''), of hem initialiseren naar een argument van de constructor. Maar het 
beste lijkt mij hem helemaal niet te initialiseren, zodat je tenminste 
een mooie relevante foutmelding krijgt als je vergeet hem een echte 
waarde te geven voor je hem gebruikt.

Dan kun je je class variabelen mooi als commentaar opnemen bovenaan de 
class, als je dat wilt...

Remco Gerlich



More information about the Python-nl mailing list