2012-09-28 47 views
0

這裏是我工作的代碼:如何從子類調用不同類的實例?

from html import * 
class Form(BlockContainer): 
    def __init__(self, form): 
     name = 'form' 
     BlockContainer.__init__(self, name) 
     self.addAttr('method', 'post') 
     self.addAttr('action', form) 

class Label(Container): 
    def __init__(self, label): 
     name = 'label' 
     Container.__init__(self, name) 
     self.addAttr('for', label) 

class Input(Tag): 
    def __init__(self, text, title): 
     name = 'input' 
     Tag.__init__(self, name) 
     self.addAttr('type', text) 
     self.addAttr('name', title) 

class Box(Div): 
    def __init__(self, text): 
     Div.__init__(self) 
     self.addAttr('class', 'box') 
     self.addText(text) 

class StatusBox(Box): 
    def __init__(self, name): 
     Box.__init__(self, name) 

好了,所以我想打電話給班輸入,標籤,並形成了從類StatusBox內。我曾嘗試過像這樣打電話給他們:

Class StatusBox(Box): 
    def __init__(self, name): 
     Box.__init__(self, name) 
     Form('blahblablah') 
     Label('okiedokie') 
     Input('whatever','okay') 

但是當我這樣稱呼他們時,我什麼也沒有。我從構建外殼這些類和他們像預期的那樣......

好了,從外殼,表應該返回此:

t = Form('/savedata') 
    # t renders as: '\n<form method="post" action="/savedata" />' 

讓我怎麼得到這個返回的StatusBox類? 如果我分配給一個變量然後返回,我得到一個錯誤'構造函數應該返回NONE'

+0

當然這會返回一些新構造的實例。 – XORcist

回答

2

您的實例被構造,然後立即拋出,因爲它們不存儲在變量中。

+1

這些問題非常基本,你應該閱讀一個關於Python編程的好教程,這裏有一些建議:http://wiki.python.org/moin/BeginnersGuide/NonProgrammers – XORcist

相關問題