2016-10-04 6 views
-2
class Employee: 
'Common base class for all employees' 
    empCount = 0 

def __init__(self, name, salary): 
    self.name = name 
    self.salary = salary 
    Employee.empCount += 1 

def displayCount(self): 
    print "Total Employee %d" % Employee.empCount 

def displayEmployee(self): 
    print "Name : ", self.name, ", Salary: ", self.salary 

"This would create first object of Employee class" 
    emp1 = Employee("Zara", 2000) 
"This would create second object of Employee class" 
    emp2 = Employee("Manni", 5000) 
    emp1.displayEmployee() 
    emp2.displayEmployee() 
    print "Total Employee %d" % Employee.empCount 

後で年齢属性をemp1.age = 7として追加するとします。それではどうすればアクセスできますか?後の段階で追加されるPythonのクラス属性にアクセスする方法は?

「年齢の従業員1:%d」%d self.age しかし、それは与えられたエラーです。

+0

それはうまくいくはずですが、あなたの質問をチェックしてください。インデントは恐ろしいものであり、 "その虚偽のエラー"はあまり役に立ちません。 –

答えて

0

エラーは何ですか? 作成した外部変数は、クラスの名前空間には存在しませんが、インスタンスの名前空間にあります。 クラス名で取り出すことができないので、object.__dict__で印刷してみてください。変数が見つかります。

関連する問題