原创 【python】詳解使用configparser進行文件配置

        將代碼中的配置項抽取到配置文件中,修改配置時不需要涉及到代碼修改,這樣就提高了代碼的重用性,不再每次都去修改代碼內部,極大的方便後期軟件的維護。         configparser解析的配置文件的格式爲ini

原创 【python】詳解multiprocessing多進程-總結(五)

【python】詳解multiprocessing多進程-process模塊(一) 【python】詳解multiprocessing多進程-Pool進程池模塊(二) 【python】詳解multiprocessing多進程-Queu

原创 【python】詳解multiprocessing多進程-Queue、Pipe進程間通信(三)

       之前專門寫過queue這個庫的使用,詳見文章:詳解queue隊列(一),此處的隊列與原文基本上相近。當使用多個進程時,通常使用消息傳遞來進行進程之間的通信,並避免必須使用任何同步原語(如鎖)。對於傳遞消息,可以使用Pip

原创 【python】詳解multiprocessing多進程-process模塊(一)

       multiprocessing類似於threading模塊支持生成進程的包,是Python的標準模塊,它既可以用來編寫多進程,也可以用來編寫多線程。如果是多線程的話,用multiprocessing.dummy即可,用法

原创 【python】詳解multiprocessing多進程-Lock、Rlock進程同步(四)

       對於多進程multiprocessing和多線程threading這兩個庫的同步,基本上是相似的使用方式。之前寫過threading的Lock、Rlock一文,詳細講解了鎖的同步使用,詳見:【python】詳解threa

原创 【python】詳解multiprocessing多進程-Pool進程池模塊(二)

       Multiprocessing.Pool可以提供指定數量的進程供用戶調用,當有新的請求提交到pool中時,如果池還沒有滿,那麼就會創建一個新的進程用來執行該請求;但如果池中的進程數已經達到規定最大值,那麼該請求就會等待,

原创 【python】雙向冒泡排序

冒泡排序法: 冒泡排序存在所謂的“烏龜問題”,假設我們需要將序列按照升序排序。 序列中的較小的數字又大量存在於序列的尾部,這樣會讓小數字在向前移動得很緩慢, 因此針對這一問題,產生了雙向冒泡排序法,也稱雞尾酒排序法。 雙向冒泡排序

原创 【python】詳解numpy.vectorize的使用,將函數向量化

首先看一下文檔: numpy.vectorize(pyfunc, otypes=None, doc=None, excluded=None, cache=False, signature=None) Parameters: pyf

原创 【python】詳解threading模塊:local類的使用(六)

一般我們對多線程中的全局變量都會加鎖處理,這種變量是共享變量,每個線程都可以讀寫變量,爲了保持同步我們會做枷鎖處理。 但是有些變量初始化以後,我們只想讓他們在每個線程中一直存在,相當於一個線程內的共享變量,線程之間又是隔離的。 pyt

原创 【python】冒泡排序

冒泡排序: 從列表的開頭處開始,逐個比較一對數據項,如果順序不對就交換兩項位置,直到移動到列表的末尾。 這個過程的效果就是將最大的項以冒泡的方式排到算法的末尾。 然後算法從列表開頭到倒數第二項重複這一過程,依次類推。 與簡單選擇排

原创 【python】選擇排序法改進

選擇排序法改進思路: 如果每輪只找最小值,效率較低,可以考慮每次同時尋找最小值和最大值; 並且在某一輪如果最小值與最大值相同,說明剩下的數字都相同,可以直接結束。 實現邏輯: 與選擇排序不同的是,需要考慮到如果第i輪裏,恰好第i

原创 【python】詳解pandas.DataFrame.resample根據時間聚合採樣(一)

首先我們直接看官方的文檔: DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, conventio

原创 【python】詳解threading模塊:Condition類的使用(三)

在上文詳解threading模塊:lock、Rlock的使用(二)詳細介紹了互斥鎖,但是互斥鎖是最簡單的線程同步機制,Python提供的Condition對象提供了對複雜線程同步問題的支持。 Condition被稱爲條件變量,除了提

原创 【python】詳解pandas.DataFrame.resample根據時間分別聚合多列數據(二)

how真的很好用啊!!! import pandas as pd data = pd.DataFrame({'open':[1,2,3,4,5],'close':[2,3,4,5,6]},index = pd.date_range(

原创 【python】插入排序和希爾排序

插入排序法類似打牌時候摸撲克牌整理順序的過程,邏輯如下: 在第i輪通過列表的時候(i從1到n-1),第i項應該插入到列表的前i個項中的正確位置; 在第i輪之後,前i個項應該是排好序的; def insertion_sort(x):