Tôi đang cố gắng hiểu phạm vi trong các lớp lồng nhau trong Python. Đây là mã ví dụ của tôi:Phạm vi của các lớp lồng nhau?
class OuterClass:
outer_var = 1
class InnerClass:
inner_var = outer_var
Việc tạo ra lớp không đầy đủ và tôi nhận được lỗi:
<type 'exceptions.NameError'>: name 'outer_var' is not defined
Cố inner_var = Outerclass.outer_var
không hoạt động. tôi nhận được:
<type 'exceptions.NameError'>: name 'OuterClass' is not defined
Tôi cố gắng để truy cập vào tĩnh outer_var
từ InnerClass
.
Có cách nào để thực hiện việc này không?
Nó có thể là hữu ích để thêm với phiên bản (s) của python câu trả lời của bạn sẽ làm việc. –
Tôi đã viết điều này với 2,6/2.x trong tâm trí, nhưng, nhìn vào nó, tôi thấy không có gì mà sẽ không làm việc giống nhau trong 3.x. –
Tôi không hoàn toàn hiểu ý của bạn trong phần này, "(Nếu bạn thay đổi đối tượng tên Outer bị ràng buộc, thì mã này sẽ sử dụng đối tượng đó vào lần sau nó được thực hiện.)" Bạn có thể vui lòng giúp tôi hiểu không ? – batbrat