簡體   English   中英

有關模塊功能和類的基本問題

[英]Basic question about modules functions and classes

以下兩個代碼示例執行相同的操作。 我在解釋它們如何正常工作嗎?

如何使用python直接檢查我的解釋是否正確?

在代碼示例A中,導入了timeit模塊,然后從timeit模塊使用timeit函數( timeit.timeit )-這正確嗎?

在代碼樣本B中, ttimer類的實例,並且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.

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