A typing question

Paulo da Silva p_d_a_s_i_l_v_a_ns at nonetnoaddress.pt
Sat Oct 29 13:45:16 EDT 2022


Hi!

Consider this simple script ...

___________________
from typing import List, Optional

class GLOBALS:
     foos=None

class Foo:

     def __init__(self):
         pass

class Foos:
     Foos: List[Foo]=[]
     # SOME GLOBALS ARE USED HERE in a real script

     def __init__(self):
         pass

GLOBALS.foos: Optional[Foos]=Foos()
___________________

Running mypy on it:
pt9.py:18: error: Type cannot be declared in assignment to non-self 
attribute
pt9.py:18: error: Incompatible types in assignment (expression has type 
"Foos", variable has type "None")
Line  18 is last line and pt9.py is the scrip.

Replacing last line by
GLOBALS.foos=Foos()
and running mypy still gives the second error.
pt9.py:18: error: Incompatible types in assignment (expression has type 
"Foos", variable has type "None")

What is the common practice in these cases?

Thank you.



More information about the Python-list mailing list