龙空技术网

Python中的单例模式

檐瓦下的滴滴答答 46

前言:

如今同学们对“python 单例类”都比较关心,我们都想要分析一些“python 单例类”的相关内容。那么小编同时在网摘上网罗了一些对于“python 单例类””的相关内容,希望姐妹们能喜欢,我们快快来学习一下吧!

单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在

让一个类只能创建一个实例。解决对象的唯一性,保证了内存中一个对象是唯一的 。

from selenium import webdriverimport timeclass WebDriverDriven:    driver = None 		#类属性,具有唯一性,常驻内存    # 程序运行之后会给driver分配一个内存地址,由于类,所以只有一个对象    # 所以就是同一个driver    # 当driver被创建后调用的是正常的产生实例的过程,    # 再次调用创建时,由于之前实例已经被存储下来,所以直接引用了driver的实例,    # 所以他们的id是一样的,也就是他们引用了同一个内存实例。    @classmethod    def get_driver(cls,type='Chrome'):        if cls.driver is None:            if type == 'Chrome':                cls.driver = webdriver.Chrome(executable_path="../day521/webdriver/chromedriver.exe")            else:                cls.driver = webdriver.Firefox(executable_path="../day521/webdriver/geckodriver.exe")            cls.driver.maximize_window()            cls.driver.quit()        return cls.driver    @classmethod    def wait_element_present(cls,how,what,timeout=30):        for i in range(timeout):            try:                element = cls.driver.find_element(how,what)                return element            except ValueError as e:#参数错误                print(e)            except Exception as ex:#方法或者属性错误                print(ex)            finally:                time.sleep(30)        return None

标签: #python 单例类