hi guys!
ở đây mình tạo func() không đối số, vậy tại sao chạy báo lỗi á?
nó bảo hàm myfunc() không đối số , nhưng có 1 đối số được thiết lập là vì sao ạ?
Tại sao method trong python mình tạo không có đối số nhưng chương trình lại yêu cầu?
trong class thì tất cả các method phải có đối số là self
8 Likes
Dịch ra đúng hơn là hàm myfunc() được định nghĩa để không lấy tham số nào nhưng khi gọi lại nhận được một tham số. Khi gọi một method trong một class thì Python sẽ tự động truyền self
vào làm tham số đầu tiên cho method đó. Có hai cách giải quyết:
-
Khai báo method nhận tham số
self
-
Tạo một static method để Python không tự truyền
self
vào.
@staticmethod
def myfunc():
#Đang viết code trên đt nên hơi lười tí
6 Likes
e cảm ơn…
Instance method thôi nhé.
5 Likes