关于编程思维方式, 想请教两个问题
问题一: 我在类里面有比较多的类似下面的写法, 但感觉非常不合适, 这种情况应该怎么去处理, 这里会多次的判断获取属性
class Foo(object): def __init__(self): self.a = None self.b = None def get_a(self): if not self.a: self.a = xxxxx def get_b(self): if not self.b: self.b = xxxxx def do_sth1(self): self.get_a() # 获取 self.a 属性 # 使用 self.a def do_sth2(self): self.get_a() # 获取 self.a 属性, 又一次 self.get_b() # 获取 self.b 属性 # 使用 self.a 和 self.b
问题二: 定义一个变量, type hint 指向一个自定义的类, 但这个变量我想为 空值(类似下面), 应该怎么写?
class Bar(object): pass v: Bar = None # 会警告不应该这么写 a_list: list = [] # 正确的写法 a_str: str = "" # 正确的写法