Fooオブジェクトを初期化すると、メソッドfunc()が実行されますが、self.aの値はとにかくNoneに設定されます。
次のコードを機能させるにはどうすればよいですか?
#!/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()
出力は次のとおりです。
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
None
None