第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Python 中迭代新對象實例

在 Python 中迭代新對象實例

夢里花落0921 2022-07-26 10:14:25
我是 OOP Python 的新手,我有一個對象:class Object:    def __init__(self, start_date, end_date, thing)        self.start_date = start_date        self.end_date = end_date         self.thing = thing       ( ... )     def get_things(self):        return self.db.execute_fetchall(f"select date, p1, p2, p2, p4 from {self.thing} where date between '{self.start_date}' and '{self.end_date}'")       ( ... ) 現(xiàn)在,如果我有:some_things = ["table_1", "table_2", "table_3"]Object.get_things()該方法只是選擇一個給定的表,但我想盡可能高效。除了:for thing in things:     Object(start_date=start_date, end_date=end_date, thing=thing)我是否應該在批量語句中使用這種邏輯并擁有一種get_all()方法?我選擇的表(靜態(tài))總是相同的,我正在尋找從它們中選擇數(shù)據(jù)的最快方法......
查看完整描述

1 回答

?
溫溫醬

TA貢獻1752條經(jīng)驗 獲得超4個贊

您可能會考慮使用類變量,這樣您就不必聚合您的事物集合。


class object:

    things = []

    def __init__(self, thing):

        self.thing = thing

        self.things.append(thing)

    def get_things(self):

        return(self.things)


a = object(1)

b = object(2)

c = object(3)


print(a.get_things()) # Prints [1, 2, 3]

這可能是最快的方式,因為您的事物列表將存儲在內(nèi)存中,并且檢索聚合列表不需要任何計算。應該指出,這種方法有其自身的缺點。例如,如果您更改了某個 object.thing 的值,則您還需要在列表 object.things 中反映該更改,并且您會看到刪除或覆蓋對象實例等事情需要一些額外的工作。


查看完整回答
反對 回復 2022-07-26
  • 1 回答
  • 0 關(guān)注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號