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?

  • AstroLightz@lemmy.worldOP
    link
    fedilink
    arrow-up
    2
    ·
    8 hours ago

    I’m initializing variables that would be used later in the class in different functions. I wasn’t sure if I needed to do a var: <type> | None = None or if just setting it to None was fine.

    • solrize@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      56 minutes ago

      I’m going to say initializing them to None and updating them later is a code smell. If you can do so, make them non-optional and always initialize them to actual meaningful values.