python3進行物件中元素屬性查詢所帶來的開銷

2021-10-05 09:20:29 字數 756 閱讀 5862

# !coding=utf-8

classa:

def__init__

(self)

: self.dic=

defdicindinclass

(obj,k)

:for i in

range

(1000000):

a=obj.dic[k]

defdicind

(d,k)

:for i in

range

(1000000):

a=d[k]

obj=a()k=

'e'd=

import time

t0=time.time(

)for i in

range(10

):dicind(d,k)

t1=time.time(

)for i in

range(10

):dicindinclass(obj,k)

t2=time.time(

)print

('直接傳入字典'

,t1-t0)

print

('物件中的字典'

,t2-t1)

結果:

直接傳入字典 0.46782588958740234

物件中的字典 0.7587230205535889

原因我想是物件的屬性查詢實際上也相當於是查詢了一次字典,因此時間大約翻了一番。

python3物件導向

類 class 描述同屬性和方法的物件的集合。方法 類中定義的函式 例項化 建立乙個類的例項,類的具體物件。物件 通過類定的資料例。包括兩個資料成員 類變數和例項變數 和方法。支援操作 屬性引用和例項化 class myclass i 12345 deff self return hello wor...

Python3 物件導向

類名 這類事物的名字,滿足大駝峰命名法,每乙個單詞的首字母大寫 屬性 這類事物具有什麼樣的特徵,身高,體重,年齡等 方法 這類事物具有什麼樣的行為,會跑,會說話,會跳等 class cat 名字貓的類,建議用大駝峰 def init self,new name,new age self.name n...

python3物件導向

類的定義 class classname name 屬性 age 18 私有屬性 deff self 方法,self 代表的是類的例項 return hello world def say self 私有方法,self 代表的是類的例項 print hello world 例項化 x classna...