2016-04-14 11 views
0

dönülecek şekilde kodu nasıl değiştiririm a: yan taraftaki kare: 5 ve alan: 25 ?? yazdırma çağrısı a?Parçayı __str__ cinsinden nasıl düzeltebilirim, böylece sınıfın içindeki örneğin adını görüntüler miydi? Python 2X

class Square(): 
     def __init__(self, length): 
      self.length = length 
     def area(self): 
      return self.length ** 2 
     def __str__(self): #this is the part I don't know how to write 
      return "is a square with side:%s and area:%s." % (self.length, self.area()) 
    a = Square(5) 
    print a 

cevap

1

Sanırım sınıfa verdiğiniz değişkenin adını almak istiyorsunuz, doğru mu? Bu

a=SomeObject() 
b=a 
c=a 
d=c 

örneğin aynı nesneye işaret katları değişkenleri var var çünkü

ben bunu nasıl bilmiyorum ya da bu posible (veya herhangi bir şekilde yararlı) ve Bu durumda, hepsinin aynı nesneyi gösterip göstermediğini nasıl anlayacaksınız?

bir alternatif sınıf size Mesela

class Square(): 
    def __init__(self, length,name=""): 
     self.length = length 
     self.name = name 
    def area(self): 
     return self.length ** 2 
    def __str__(self): #this is the part I don't know how to write 
     return "%s is a square with side:%s and area:%s." % (self.name, self.length, self.area()) 
a = Square(5,'MySquare') 
print a # MySquare is a square with side:5 and area:25. 
+0

için aynı örneğinin değişkeni dönmek olmak istiyorum isteyen adla bir ekstra paremetrer vermektir. , ör. a = Kare (1), b = Kare (2) , baskı a denildiğinde çağrılırdı; ** kalın a, yan taraftaki kare: 1 ve alan: 1 ** b yazdırıldığında çağrılırdı ** kalın b yan taraftaki bir kare: 2 ve alan: 4 ** Neden aynı örneğe başvurmanın imkansız olduğunu anlamıyorum. öz argümanı çağırmak kadar doğru değil mi? –

+0

Eğer kalın harfler istiyorsanız o zaman bunun için bir GUI'ye, veya html'ye veya size bu seçenekleri sunan başka bir şeye ihtiyacınız vardır. – Copperfield

+0

herhangi bir nesne sadece iç tanımları ve özellikleri hakkında bilgi verir, ve ona işaret eden herhangi bir değişkenin adı bunun dışındadır, bu yüzden örneğe gün boyu bakabilirsin, ama onu bulamayacaksın. Bu örneğe bir isim vermelisiniz. Örneğin, birisinin yorumunda okuduğum Python'un gerçek varaiables bulunmadığı – Copperfield

İlgili konular