01/10/2018, 10:10
Vấn đề class trong python
mình có một class trong python như này
class Teacher:
id='
name='
bacluong=0
def DisPlayTeacher(self):
print'id cua giao vien la:',self.id
print'ten cua giao vien la :',self.name
print'bac luong cua giao vien la :',self.bacluong
giaovien=Teacher()
giaovien.id='tc001'
giaovien.name='nguyen phuong dong'
giaovien.bacluong=5
giaovien.GiaoVien()
lúc chạy đoạn code này nó sẽ in ra giá trị bình thường bao gồm id và tên và bac lương bình thường
nhưng nếu em thay thế đoạn code DisPlayTeacher là như này thì nó lại không in ra được
def DisPlayTeacher(self):
print'id cua giao vien la:',Teacher.id
print'ten cua giao vien la :',Teacher.name
print'bac luong cua giao vien la :',Teacher.bacluong
thì khi chạy cái hàm này nó lai ko in ra được giá trị .Vậy nguyên nhân là do làm sao vậy
Bài liên quan





Điều này rất dễ hiểu
Đây là 3
attributemặc định mà tất cả cácinstancecủaclass Teacherđều sẽ có và đương nhiên cảclass Teachercũng có.Có nghĩa là thay đổi giá trị attribute của
instance giaovienkhông phải thay đổi giá trịattributecủaclass Teacher. Do đóVẫn sẽ có các giá trị ban đầu
Còn nếu
selfchính là đại diện choinstance.Khi bạn
invoker methodnhư trên nó sẽ vào trong thay cácparametersbằng các giá trị củaargumentspass vớiselfsẽ nhận giá trịgiaovienVà đương nhiên là kết quả bạn mong muốn
xin cho hỏi thêm một vấn đề nữa là