[英]Basic question about modules functions and classes
以下兩個代碼示例執行相同的操作。 我在解釋它們如何正常工作嗎?
如何使用python直接檢查我的解釋是否正確?
在代碼示例A中,導入了timeit
模塊,然后從timeit
模塊使用timeit
函數( timeit.timeit
)-這正確嗎?
在代碼樣本B中, t
是timer
類的實例,並且timer
類在tiemit
模塊中。 在代碼示例B中, t.timeit()
使用的是timeit()
方法,該方法是計時器類的一部分。 t.timeit()
使用的timeit()
方法不是代碼示例A( timeit.timeit
)中的timeit
函數,因為代碼示例B中的timeit
方法在timer
類中,而在代碼示例A中, timeit
方法是timeit
模塊中的一個函數,不是類的一部分。 這個對嗎?
代碼示例A:
import timeit
timeit.timeit('char in text', setup='text = "sample string"; char = "g"')
代碼示例B:
import timeit
t = timeit.Timer('char in text', setup='text = "sample string"; char = "g"')
t.timeit()
您可以查看源代碼: https : //github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Lib/timeit.py#L229
模塊級timeit
只是一個便利包裝。
這兩個代碼將具有相同的效果,您可以通過運行它們來看到此效果,但是您選擇執行的代碼將取決於您的意圖。
您可以在此處了解更多信息: https : //www.geeksforgeeks.org/difference-method-function-python/
對於自學編程和初學者來說,這也是一個很好的網站。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.