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
attribute
mặc định mà tất cả cácinstance
củaclass Teacher
đều sẽ có và đương nhiên cảclass Teacher
cũng có.Có nghĩa là thay đổi giá trị attribute của
instance giaovien
không phải thay đổi giá trịattribute
củaclass Teacher
. Do đóVẫn sẽ có các giá trị ban đầu
Còn nếu
self
chính là đại diện choinstance
.Khi bạn
invoker method
như trên nó sẽ vào trong thay cácparameters
bằng các giá trị củaarguments
pass vớiself
sẽ nhận giá trịgiaovien
Và đươ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à