01/10/2018, 00:23
Super trong python
class Person(object):
def __init__(self, name):
## ??
self.name = name
## Person has-a pet of some kind
self.pet = None
class Employee(Person):
def __init__(self, name, salary):
## ?? hmm what is this strange magic?
super(Employee, self).__init__(name)
## ??
self.salary = salary
" super(Employee, self).init(name) " nghiã là gì vậy m.n?
Bài liên quan
Ở đây, nó được dùng để chỉ tới class mẹ của class Employee, trường hợp này là Person mà không cần phải nêu đích xác tên ra.
Code trên tương đương:
thanks bạn, tớ hiểu r
Nhớ bấm vào để chọn câu trả lời của @Luong_Quang_Manh là câu trả lời đúng
Em đã xem hết video dạy python của anh @ltd và em đang học đến bài 43. Em chỉ muốn hỏi là sao anh không quay tiếp chuỗi video dạy python nữa ạ?
Hiện giờ anh rất bận, nên chưa thể quay tiếp được. Mong em thông cảm.
Trường hợp của bạn là trường hợp đơn kế thừa và giải đáp của bạn @Luong_Quang_Manh là chính xác rồi, mình chỉ góp ý cho bạn đặt câu hỏi là nếu bạn muốn thực sự hiểu thấu đáo vấn đề này thì bạn nên tìm hiểu về đa kế thừa trong python. Khi đó bạn sẽ nhận ra đoạn code [quote=“tuyetlienhoa, post:1, topic:36509”]
super(Employee, self).init(name)
[/quote]
và [quote=“Luong_Quang_Manh, post:2, topic:36509”]
Person.init(name)
[/quote]
là không tuơng đuơng nhau nữa.
Nếu bạn thích lập trình python thì nên tìm hiểu về nó, khá là hay ho. Sau khi đọc cái đó thì sẽ tự ngộ ra vấn đề ở câu hỏi này.