我如何定义复杂的类属性,这些属性实际上只应该在Python类的__init__函数中示例化?

tyg4sfes  于 2023-04-04  发布在  Python
关注(0)|答案(2)|浏览(108)

下面的代码:

class pb:
   #defines driver, session and url
    driver=???
    def __init__(self,testMode):
        options=webdriver.ChromeOptions()
        if testMode:
            #sets the self.driver to headless mode
            options.add_argument('--headless')
            options.add_argument('window-size=1600x1080')
        self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
        self.session=requests.Session()
        self.driver.maximize_window()
        self.url_pages_blanches = 'https://www.pagesjaunes.fr/pagesblanches/recherche?ou='

我如何完成带问号的部分?

tnkciper

tnkciper1#

确实,正如另一个答案所述,你不需要在类体中声明一个示例变量。
但是,这是一个推荐的做法,特别是如果您对python类型注解不敏感的话;)
https://peps.python.org/pep-0526/#class-and-instance-variable-annotations
我认为它使类具有的属性更清晰:

# the convention is that class names are written in CapWords: https://peps.python.org/pep-0008/#class-names
class Pb:
    driver: webdriver.Chrome
    ...
nmpmafwu

nmpmafwu2#

我们不需要在Python中预定义类成员。它们可以在构造函数中定义。

相关问题