簡體   English   中英

有沒有辦法在不同的 class 中設置一個等於變量的值,並讓它保持第一次運行的值而不必每次都運行?

[英]Is there a way to set a value equal to a variable in a different class and have it keep the value from the first run and not have to run everytime?

我有兩個課程,一個是使用 selenium 來抓取 25 個不同的頁面,這需要很長時間。 我有另一個 class 需要 1 秒才能運行,但它從另一個 class 調用一個變量。 我希望 self.numbers 等於 data.scores 並以某種方式保持值設置,以便測試只需要一秒鍾。 永遠需要的 class 是 AllData() ,我希望 self.numbers 持續存在而不必復制和粘貼打印的值。

from collections import defaultdict
from data import *

class Test:
    def __init__(self,):
        data = AllData()
        self.numbers = data.scores

我不確定我是否完全理解。 使用 class 變量會解決您的問題嗎? 這意味着您可以調用當前值

class a:
    var = {'init':'has', 'not':'run'}
    
    def __new__(cls):
        cls.var = {'new has':'run'}
        return super(a, cls).__new__(cls) 
    
    def __init__(self):
        self.var['so has'] = 'init'

class b:
    def __init__(self, obj):
        self.sav = obj.var

使用示例:

>>> b(a).var
{'init':'has', 'not':'run'}

>>> b(a()).var
{'new has': 'run', 'so has': 'init'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM