Al inicializar el objeto Foo se ejecuta el método func(), pero el valor de self.a se establece en Ninguno de todos modos.No se pueden establecer los atributos de clase en python utilizando un método
¿Cómo puedo obtener el siguiente código para trabajar?
#!/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()
La salida es:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
None
None
No tiene atributos de clase, solo atributos de instancia. –