2016-03-20 11 views
-2

Bir Pokemon simülatörü yapmaya çalışıyorum ve Type nesnesini Move nesnesine aktarmaya çalışıyorum, ancak bunu nasıl geçeceğimi anlamıyorum. Bu sadece bana normal bir anlatırBir nesnenin __init__ ifadesinde nasıl kabul edilir?

class Type: 
    def __init__(self): 
     self.name="fire" 
     self.atNOR=1 
     self.atFIG=1 
     self.atFLY=1 
     self.atPOS=1 
     self.atGRO=1 
     self.atROC=1 
     self.atBUG=1 
     self.atGHO=1 
     self.atFIR=1 
     self.atWAT=1 
     self.atGRA=1 
     self.atELE=1 
     self.atPSY=1 
     self.atICE=1 
     self.atDRA=1 
class Move: 
    def __init__(self): 
     self.name = "tackle" 
     self.power= 0 
     self.ability= "none" 
     self.type= normal 

sana "Tür" nesnesi olarak sahip olmak istiyorsanız bu hat bir Tip

+0

Tam olarak ne normaldir? Tanımını kod snippet'inine ekleyebilir misiniz? –

+0

Aslında python'da, bir nesnenin tipi bir nesnenin kendisidir. Şimdi "self.type" yazmayı bekliyorsunuz? – Kasramvd

+0

normal, Move nesnesinin varsayılan bir Türü olması gerekiyordu. – Dad

cevap

1

olarak bunun normal değişken tanımlamak nasıl bilmiyorum veri türü değil

bileşimi hakkında
class Move: 
    def __init__(self): 
     self.name = "tackle" 
     self.power = 0 
     self.ability = "none" 
     self.type = Type() 

Daha/devralma here

LearnPythonTh: taşı nesnesine bir özellik, siz "kompozisyon deseni" kullanmanız gerekir (bu yüzden taşı Tip-a vardır) eHardway, Python'u öğrenmek için her zaman çok iyi bir kaynak değildir, ancak bu konuda aslında oldukça iyi.

Kompozisyonla ilgili başka bir kaynak: here. "Tip" i kullanarak sınıf adı olarak dikkatli olun. Küçük harfli type, meta sınıf programlama (veya genel olarak sınıf oluşturma) için bir yapı olarak kullanılabilen yerleşik Python sınıftır.

+0

Teşekkürler, bu tam olarak ihtiyacım olan şey. – Dad

İlgili konular