2013-05-30 16 views
1

我試圖找出如何使用用戶定義的屬性在Python 3 這裏打印出一個類的實例是代碼我有:如何打印具有用戶定義屬性的類的實例?

class Attendie: 
    def __init__(self, fname, lname, company, state, email): 
     self.fname = fname 
     self.lname = lname 
     self.company = company 
     self.state = state 
     self.email = email 

    def getFname(self): 
     return self.fname 

    def getLname(self): 
     return self.lname 

    def getCompany(self): 
     return self.company 

    def getState(self): 
     return self.state 

    def getEmail(self): 
     return self.email 

def main(): 


    fname = input("what is the attendie's first name? ") 
    lname = input("What is the attendie's last name? ") 
    company = input("What company is the attendie with? ") 
    state = input("What state is the attendie from? ") 
    email = input("What is the attendie's email address? ") 

    Person = Attendie(fname, lname, company, state, email) 

    print(Person.getFname) 
    print(Person.getLname) 
    print(Person.getCompany) 
    print(Person.getState) 
    print(Person.getEmail) 

if __name__ == '__main__': main() 

我運行該程序後,我得到這些類型的錯誤消息。在0x00000000031DCDD8

回答

2

< 主要 .Attendie對象的

綁定的方法Attendie.getFname看來,你是不是調用方法。

In [1]: class A(object): 
    ...:  def __init__(self, n): 
    ...:   self.n = n 
    ...:  def get_n(self): 
    ...:   return self.n 
    ...:  

In [2]: a = A(5) 

In [3]: a.get_n 
Out[3]: <bound method A.get_n of <__main__.A object at 0xa56516c>> 

In [4]: a.get_n() 
Out[4]: 5 

更改您的代碼如下所示應該修復它:

print(Person.getFname()) 
print(Person.getLname()) 
print(Person.getCompany()) 
print(Person.getState()) 
print(Person.getEmail()) 
+0

哇!我需要練習更好的語法。感謝根。我知道這是一件非常明顯的事情。 –

相關問題