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?

  • jtrek@startrek.website
    link
    fedilink
    arrow-up
    5
    ·
    16 days ago

    That seems like that’s going to give you an error in most type checkers. You said it’s always an int and then immediate made that a lie and made it None instead.

    Why are you trying to do this?

    • AstroLightz@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      16 days 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.

    • AstroLightz@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      16 days ago

      This is an example. For my actual use case, they would be private vars that would be set by class functions instead of passed to the constructor.