Làm cách nào để truy cập các biến cục bộ của một phương thức siêu lớp trong một phương thức được ghi đè trong lớp con?
class Foo(object):
def foo_method(self):
x = 3
class Bar(Foo):
def foo_method(self):
super().foo_method()
print(x) # Is there a way to access x, besides making x an attribute of the class?
Đoạn mã dưới đây cung cấp một NameError: name 'x' is not defined
bar = Bar()
bar.foo_method()
Điều này không có gì đáng ngạc nhiên và nó có thể được khắc phục bằng cách tạo x
một thuộc tính instance, nhưng có thể x
được truy cập nguyên dạng Bar.foo_method
trực tiếp hơn không?