2016-09-04 32 views
0

我現在正在開發一款遊戲,但是我真的很討厭在尋找修復bug或新功能塞滿另一個功能時有幾千行滾動瀏覽。我曾在一個主類不停的一切,當我看着寫的每個功能到不同的文件,我有一個問題,我無法找到任何__init __()與__init__.py相比

class game: 
def __init__(self): 
    self.foo = "Foo" 
def function(self, bar): 
    self.bar = bar 

所以,如果我們把它放到一個文件系統,它應該是這個樣子

遊戲/

  • __init__.py

  • function.py

,我不知道如何通過自己或功能分爲兩種init或funtion。是否有某種類型的代碼可以幫助我,還是繼續滾動瀏覽代碼堆棧?__ =(自編,條形碼)代碼會對我有幫助嗎?

+1

當打破一個類,目標是把它分成多個類,而不是多個文件。 –

+0

我不認爲你可以將單個課程分成多個文件 – mitoRibo

+0

Lmao,這很滑稽! – TheLazyScripter

回答

0

我在我的評論中錯了,你可以按照你的描述來做,但是@Ignacio說它的代碼設計不好。這裏有一個例子,無論如何因爲我很好奇:

#Empty my_game 'class' 
class my_game: 
    pass 

#Function you can put in a different file and import here 
#Will become set as the new init function to 'my_game' 
def my_games_init(self,x,y): 
    self.x = x 
    self.y = y 


#Assigning 'my_games_init' function to be used as init of 'my_game' class 
my_game.__init__ = my_games_init 

#Make a 'my_game' instance and show that it's x and y methods were set 
g = my_game(1,2) 
print g.x 
print g.y 
+1

你在那裏做什麼叫做猴子補丁。雖然它起作用,但當項目變得更加複雜時,調試是非常可怕的。沒有人能夠從類的角度說明方法的定義。 –