欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python函數(shù)調(diào)用慢 python運(yùn)行慢怎么辦

python 運(yùn)行一個自定義的函數(shù)后,感覺系統(tǒng)變慢了

因為程序陷入死循環(huán)了,while x 0: 而你輸入的x始終是大于0的,就會一直持續(xù)不斷的運(yùn)行下去,進(jìn)而占用系統(tǒng)資源了。原因在于,你沒有終止while循環(huán)的條件,修改如下

成都創(chuàng)新互聯(lián)長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為海北州企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、成都做網(wǎng)站,海北州網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

def?my_abs(a,?x=?2):

s=?1;

while?x??0:

s=?s*a;

x?=?x-1??#?每循環(huán)一次x就減1,這樣一旦x=0就終止循環(huán)了

return?s

print(my_abs(4,3))

優(yōu)化Python編程的4個妙招

1. Pandas.apply() – 特征工程瑰寶

Pandas 庫已經(jīng)非常優(yōu)化了,但是大部分人都沒有發(fā)揮它的最大作用。想想它一般會用于數(shù)據(jù)科學(xué)項目中的哪些地方。一般首先能想到的就是特征工程,即用已有特征創(chuàng)造新特征。其中最高效的方法之一就是Pandas.apply(),即Pandas中的apply函數(shù)。

在Pandas.apply()中,可以傳遞用戶定義功能并將其應(yīng)用到Pandas Series的所有數(shù)據(jù)點(diǎn)中。這個函數(shù)是Pandas庫最好的擴(kuò)展功能之一,它能根據(jù)所需條件分隔數(shù)據(jù)。之后便能將其有效應(yīng)用到數(shù)據(jù)處理任務(wù)中。

2. Pandas.DataFrame.loc – Python數(shù)據(jù)操作絕妙技巧

所有和數(shù)據(jù)處理打交道的數(shù)據(jù)科學(xué)家(差不多所有人了!)都應(yīng)該學(xué)會這個方法。

很多時候,數(shù)據(jù)科學(xué)家需要根據(jù)一些條件更新數(shù)據(jù)集中某列的某些值。Pandas.DataFrame.loc就是此類問題最優(yōu)的解決方法。

3. Python函數(shù)向量化

另一種解決緩慢循環(huán)的方法就是將函數(shù)向量化。這意味著新建函數(shù)會應(yīng)用于輸入列表,并返回結(jié)果數(shù)組。在Python中使用向量化能至少迭代兩次,從而加速計算。

事實(shí)上,這樣不僅能加速代碼運(yùn)算,還能讓代碼更加簡潔清晰。

4. Python多重處理

多重處理能使系統(tǒng)同時支持一個以上的處理器。

此處將數(shù)據(jù)處理分成多個任務(wù),讓它們各自獨(dú)立運(yùn)行。處理龐大的數(shù)據(jù)集時,即使是apply函數(shù)也顯得有些遲緩。

關(guān)于優(yōu)化Python編程的4個妙招,青藤小編就和您分享到這里了。如果您對python編程有濃厚的興趣,希望這篇文章可以為您提供幫助。如果您還想了解更多關(guān)于python編程的技巧及素材等內(nèi)容,可以點(diǎn)擊本站的其他文章進(jìn)行學(xué)習(xí)。

python 函數(shù)調(diào)用問題

Ball是一個類,類定義 在代碼 最前面

myBall=Ball() Ball() 生成 一個Ball類的實(shí)例,myBall是一個Ball類實(shí)例

myBall.bounce()調(diào)用 類方法bounce

請教python函數(shù)調(diào)用問題

進(jìn)入python shell,執(zhí)行下 import matplotlib 看看,如果提示錯誤,就是沒有正確安裝,安裝應(yīng)該也簡單pip install matplotlib應(yīng)該就行了。我用的是python2.7,3.5沒試過

pythonopencvread慢

登錄

首頁

學(xué)習(xí)

實(shí)踐

活動

專區(qū)

工具

TVP

返回騰訊云官網(wǎng)

Python()和read()函數(shù)太慢( OpenCV )

原文

dwiandhika提問于2021-01-22

python

opencv

optimization

我想循環(huán)某個范圍內(nèi)的幀,并將其附加到一個數(shù)組中。問題是,它太慢了。我已經(jīng)檢查了函數(shù)需要多長時間,我認(rèn)為這相當(dāng)慢。下面是我當(dāng)前的代碼:

imgs = []

for j in range(range1, range2):

video.set(cv.CAP_PROP_POS_FRAMES, j)

ret, frame = video.read()

imgs.append(frame)

?復(fù)制

我也嘗試過用video.retrieve(video.grab())替換imgs.append(frame),但性能并沒有太大差別。有沒有更好的解決方案/替代方案來完成這段代碼的工作?

瀏覽 72關(guān)注 0得票數(shù) 1

原文

2 個回答

操作

Ian Chu已采納

回答于2021-01-22

得票數(shù) 2

哦,哇,nvm。正是這個設(shè)置讓這個過程變得很慢:

內(nèi)部時間: 15.308052062988281

課外時間: 0.4459998607635498

import cv2

import time

def setInside(cap, start, end):

imgs = [];

for a in range(start, end):

cap.set(cv2.CAP_PROP_POS_FRAMES, a);

_, frame = cap.read();

imgs.append(frame);

def setOutside(cap, start, end):

imgs = [];

cap.set(cv2.CAP_PROP_POS_FRAMES, start);

for a in range(start, end):

_, frame = cap.read();

imgs.append(frame);

# open vidcap

cap = cv2.VideoCapture("202534.avi");

# bounds

start = 0;

end = 2000;

# time it

start_time = time.time();

setInside(cap, start, end);

print("Inside Time: " + str(time.time() - start_time));

start_time = time.time();

setOutside(cap, start, end);

print("Outside Time: " + str(time.time() - start_time));

?復(fù)制

如果你把set移到循環(huán)之前,速度會快很多。

Python 函數(shù)的調(diào)用方式

好像沒有特別的叫法吧,也沒注意手冊上有什么特別的叫法,至于區(qū)別,舉個例子你就清楚了,如下:

假如有個列表aa=[1,4,3,5],對這個列表用sort()進(jìn)行排序,如果第一種方式aa.sort()后aa=[1,3,4,5];

而第二種方式sort(aa)排序后雖然得到了新列表[1,3,4,5],但是aa還是=[1,4,3,5]。

也就是說第一種方式會改變原列表,而第二種不會改變,只是得到了一個新的副本。

GOT IT?!^^

補(bǔ)充一下,如果非要說叫法上的區(qū)別的話,第一種叫做方法調(diào)用,第二種叫做函數(shù)調(diào)用。至于方法和函數(shù)的些微區(qū)別,方法是基于對象的,函數(shù)是基于本身的。如果再詳細(xì)……方法一般不可以單獨(dú)使用,因為大部分方法是基于對象的,調(diào)用也必須基于對象,像上面第一種;而函數(shù)則可以單獨(dú)使用,你可以理解成它是數(shù)據(jù)系統(tǒng)本身的,而不是對象專有的。

PS:至于為什么我換了用sort()而沒有用LZ給的例子函數(shù),是因為..…^o^……LZ第一種方式和第二種方式寫的都不是一個函數(shù)……

當(dāng)前文章:python函數(shù)調(diào)用慢 python運(yùn)行慢怎么辦
轉(zhuǎn)載源于:http://chinadenli.net/article12/dodeddc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、建站公司面包屑導(dǎo)航App設(shè)計、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)