Только начал играть с BB C micro: bit. Один из примеров имеет эту строку кода
fla sh = [Image (). Invert () * (i / 9) для i в диапазоне (9, -1, -1)]
Генерирует множество изображений. Пытаясь выяснить, что происходит, я написал этот фрагмент кода
class Image:
def __init__(self,*args):
print ("init")
for a in args:
print (a)
def invert(self, *args):
print ("invert")
for a in args:
print (a)
flash = [Image().invert()*(i/9) for i in range(9, -1, -1)]
print ( flash )
, который выдает
python3 test.py
init
invert
Traceback (most recent call last):
File "test.py", line 14, in <module>
flash = [Image().invert()*(i/9) for i in range(9, -1, -1)]
File "test.py", line 14, in <listcomp>
flash = [Image().invert()*(i/9) for i in range(9, -1, -1)]
TypeError: unsupported operand type(s) for *: 'NoneType' and 'float'
Спасибо