Re: Feature Request: Adding Way to Annotate Class Variables Distinct from Instance Variables
"Chihiro Sakai" <[email protected]> Thu, 22 Dec 2022 02:03:12 -0000
| Newsgroups | gmane.comp.python.devel |
|---|---|
| Message-ID | <[email protected]> |
OK, I missed out on [email protected], and now I know this thread is off-topic on [email protected]. A bit more clear example of what I want to do is: ``` class Field: def __init__(self, desc: str) -> None: self.desc = desc class FooMetaType: variable_both_class_and_instance: Field def __call__(self, value: int) -> 'Foo': ... class Foo: variable_both_class_and_instance: int def __init__(self, value: int) -> None: self.variable_both_class_and_instance = value Foo: FooMetaType Foo.variable_both_class_and_instance = Field(desc="descriptive string") instance = Foo(5) print(instance.variable_both_class_and_instance) ``` Static typing on this example doesn't work correctly as expected because it does not allow overwriting another type over a class declaration. My point on the example is the tangible value should be assigned to the instance variables. Still, on the other hand, I want to give a value denoting the variable's metadata to the class variable. From my understanding, these variables, like this `variable_both_class_and_instance` in the example, cannot be correctly typed. Thank you for your kindness, I'll repost it to [email protected].