2017-08-16 151 views
0

在我的一個類中,我從另一個尚未初始化的類中打印數據。我只想在類初始化後打印該數據。是否有任何方法檢查該類是否已實例化?如何檢查一個類是否已經在Python中實例化?

+0

難道你不能只使用'isinstance'? –

+0

類似於'if isinstance(instance,MyObject):...'? – wencakisa

+0

我不是創建該類的任何對象。我只是使用該類來處理一些數據。在我的主程序中,我想要打印該數據。但是,只有在程序第一次運行後,該類纔會初始化。 ,它至少需要一次運行才能初始化。這就是我的代碼失敗的原因。如果聽起來很愚蠢,我是python3的新手。 –

回答

0

例如,您可以在構造函數中添加實例計數器。

0

只需添加一個變量到類進行,像這樣:

class tobeinitiated(): 
    initiated=False 
    def __init__(self): 
     global initiated 
     tobeinitiated.initiated = True 

然後,在你需要的信息:

global initiated #(if in class) 
if tobeinitiated.initiated: 
    #do the stuff you need to do 

希望這有助於。 :)

+0

感謝您的幫助,但不幸的是,這不起作用。 –

+0

錯誤是什麼? –

+0

spider = HeadlessSpider(CONFIG,HOMEPAGE,DOMAIN_NAME) 文件「/Users/mayank/web-scrape-poc/spiders/headless_spider.py」,第25行,在__init__中 self.crawl_page('First spider',(Spider。 「/ Users/mayank /」)/文件「/Users/mayank/web-scrape-poc/spiders/headless_spider.py」,第33行,在爬行頁 super()。crawl_page(thread_name,page_url) 文件「/ Users/mayank/web-scrape-poc/spider/spider.py「,第63行,在抓取頁面 '| Broken Images:',ImageChecker.count if ImageChecker.instantiate else 0) NameError:name'ImageChecker'未定義 –

相關問題