For example:

class FooBar:
    def __init__(self):
        self.a: int = None
        self.foo: str = None

Is this bad practice/go against PEP guidelines or is it fine?

  • solrize@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    4 hours ago

    If it can be None then the type is Optional[int] or Optional[str] as the case may be. Or I guess now int | None etc. I’m used to older versions of mypy so idk if they support that alternate syntax.

    Optional[int] would seem to be preferable but it turns out it’s not really an option type. Like Optional[None] being None is ambiguous.