Khởi tạo đối tượng Foo chạy phương thức func(), nhưng giá trị của self.a được đặt thành None anyway.Không thể đặt thuộc tính lớp trong python bằng cách sử dụng phương thức
Tôi làm cách nào để mã sau hoạt động?
#!/usr/bin/env python
class Foo(object):
def __init__(self, num):
self.a = self.func(num)
print self.a
def func(self, num):
self.a = range(num)
print self.a
def __str__(self):
return str(self.a)
def main():
f = Foo(20)
print f
if __name__ == "__main__":
main()
Đầu ra là:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
None
None
Bạn không có bất kỳ thuộc tính lớp nào, chỉ các thuộc tính mẫu. –