Vì vậy, tôi biết trong python mọi thứ là một 'đối tượng' có nghĩa là nó có thể được chuyển như một đối số cho một phương thức. Nhưng tôi đang cố gắng hiểu chính xác điều này hoạt động như thế nào. Vì vậy, tôi đã thử ví dụ sau:phương thức python làm đối số
class A:
def __init__(self):
self.value = 'a'
def my_method(self)
print self.value
class B:
def __init__(self):
self.values = 'b'
def my_method(self, method):
method()
a = A()
b = B()
b.my_method(a.my_method)
Bây giờ điều đầu tiên được viết chỉ để xem cách hoạt động của mọi thứ. Tôi biết tôi nên ví dụ kiểm tra nếu đối số của my_method
là có thể gọi. Bây giờ câu hỏi của tôi là:
Phương pháp được truyền chính xác ở đây như thế nào? Tôi có nghĩa là đầu ra tôi nhận được là 'a' vì vậy tôi đoán rằng khi một phương pháp đối tượng được thông qua như tham số như vậy là đối tượng thực tế? Trong trường hợp này khi tôi vượt qua a.my_method
, ví dụ a
cũng được thông qua?
Nếu bạn đang làm việc với Python 2, sử dụng 'lớp A (đối tượng):' thay vì 'lớp A:' để có được "các lớp kiểu mới" nói chung tốt hơn và bạn nên làm việc với cái gì. –