這篇文章主要介紹了Python函數式編程指南(三):迭代器詳解,本文講解了迭代器(Iterator)概述、使用迭代器、產生器運算式(Generator expression)和列表解析(List Comprehension)等內容,需要的朋友可以參考下 3. 迭代器 3.1.
這篇文章主要介紹了Python函數式編程指南(四):產生器詳解,本文講解了產生器簡介、產生器函數、產生器函數的FAQ等內容,需要的朋友可以參考下 4. 產生器(generator) 4.1. 產生器簡介 首先請確信,產生器就是一種迭代器。產生器擁有next方法並且行為與迭代器完全相同,這意味著產生器也可以用於Python的for迴圈中。另外,對於產生器的特殊文法支援使得編寫一個產生器比自訂一個常規的迭代器要簡單不少,所以產生器也是最常用到的特性之一。 從Python 2.
這篇文章主要介紹了Python線程詳解,本文詳細講解了線程方方面面的知識,如線程基礎知識線程狀態、線程同步(鎖)、線程通訊(條件變數)等內容,需要的朋友可以參考下 1. 線程基礎 1.1. 線程狀態 線程有5種狀態,狀態轉換的過程如下圖所示: 1.2.
這篇文章主要介紹了Python中的底線詳解,本文講解了單個底線直接做變數名、單底線首碼的名稱、雙底線首碼的名稱等內容,需要的朋友可以參考下 這篇文章討論Python中底線_的使用。跟Python中很多用法類似,底線_的不同用法絕大部分(不全是)都是一種慣例約定。 一、 單個底線直接做變數名(_) 主要有三種情況: 1.
這篇文章主要介紹了Python中的預設參數詳解,本文講解了預設參數的基本原理、如何正確地使用可變參數等內容,需要的朋友可以參考下 文章的主題 不要使用可變對象作為函數的預設參數例如 list,dict,因為def是一個可執行語句,只有def執行的時候才會計算預設預設參數的值,所以使用預設參數會造成函數執行的時候一直在使用同一個對象,引起bug。 基本原理 在 Python 源碼中,我們使用def來定義函數或者方法。在其他語言中,類似的東西往往只是一一個文法聲明關鍵字,
這篇文章主要介紹了Python實現保證只能運行一個指令碼執行個體,本文直接給出實現代碼,需要的朋友可以參考下 保證只能運行一個指令碼執行個體,方法是程式運行時監聽一個特定連接埠,如果失敗則說明已經有執行個體在跑。 使用裝飾器實現,便於重用 代碼如下: import functools def just_one_instance(func): ''' 裝飾器 如果已經有執行個體在跑則退出 複製代碼 代碼如下: :return: ''' @functools.
本文執行個體講述了python壓縮檔夾內所有檔案為zip檔案的方法。分享給大家供大家參考。具體如下: 用這段代碼可以用來打包自己的檔案夾為zip,我就用這段代碼來備份 ? 1 2 3 4 5 6 7
本文執行個體講述了python在控制台輸出進度條的方法。分享給大家供大家參考。具體實現方法如下: 進度條效果如下所示: ? 1 2 |#############################---------------------| 59 percent done
這篇文章主要介紹了Python中type的建構函式參數含義說明,本文用一個編碼執行個體解釋Python type的參數的作用和含義,需要的朋友可以參考下 測試代碼如下: 代碼如下: class ModelMetaClass(type): def __new__(cls,name,base,attrs): logging.info("cls is:"+str(cls)) logging.info("name is:"+str(
這篇文章主要介紹了Python多線程和隊列操作執行個體,本文直接給給執行個體代碼,需要的朋友可以參考下 Python3,開一個線程,間隔1秒把一個遞增的數字寫入隊列,再開一個線程,從隊列中取出數字並列印到終端 代碼如下: #! /usr/bin/env python3 import time import threading import queue # 一個線程,間隔一定的時間,把一個遞增的數字寫入隊列 # 生產者 class
這篇文章主要介紹了讓Python代碼更快啟動並執行5種方法,本文分別介紹了PyPy、Pyston、Nuitka、Cython、Numba等開源軟體,可以提升Python的運行效率,需要的朋友可以參考下 不論什麼語言,我們都需要注意效能最佳化問題,提高執行效率。選擇了指令碼語言就要忍受其速度,這句話在某種程度上說明了Python作為指令碼語言的不足之處,那就是執行效率和效能不夠亮。儘管Python從未如C和Java一般快速,但是不少Python項目都處於開發語言領先位置。 Py
這篇文章主要介紹了Python實現刪除檔案但保留指定檔案,本文直接給出實現代碼,並同時給出代碼解釋,需要的朋友可以參考下 由於給客戶的發布版本上客戶改動了些代碼和圖片,我們這邊給他們更新publish都是累加式更新(開發提供更新指定的檔案,我們提取出來給客戶進行覆蓋更新),但有時需要更新的檔案較多導致不得不一個一個的進行尋找、替換,工作量大而且容易出錯。所以用python寫個保留pulish後目錄的指定檔案、刪除其他檔案的功能。 代碼如下: 代碼如下: import
這篇文章主要介紹了Python os模組學習筆記,本文總結了OS模組的常用方法、實用方法,並給出了兩個使用執行個體,需要的朋友可以參考下 一、os模組概述 Python os模組包含普遍的作業系統功能。例如檔案的複製、建立、修改、刪除檔案及檔案夾... 二、常用方法 1、os.listdir() 返回指定目錄下的所有檔案和目錄名。 2、os.remove() 刪除一個檔案。 3、os.system() 運行shell命令。 4、os.path.split()
這篇文章主要介紹了Python實現線程池代碼分享,本文直接給出執行個體代碼,需要的朋友可以參考下 原理:建立一個任務隊列,然多個線程都從這個任務隊列中取出任務然後執行,當然任務隊列要加鎖,詳細請看代碼 ? 1 2 3 4 5 6 7 8
這篇文章主要介紹了Python的裝飾器模式與面向切面編程詳解,概括的講,裝飾器的作用就是為已經存在的對象添加額外的功能,本文詳細了裝飾器模式的方方面面,然後引出面向切面編程知識,需要的朋友可以參考下 今天來討論一下裝飾器。裝飾器是一個很著名的設計模式,經常被用於有切面需求的情境,較為經典的有插入日誌、效能測試、交易處理等。裝飾器是解決這類問題的絕佳設計,有了裝飾器,我們就可以抽離出大量函數中與函數功能本身無關的雷同代碼並繼續重用。概括的講,裝飾器的作用就是為已經存在的對象添加額
這篇文章主要介紹了Python中有趣在__call__函數,本文直接給出一個使用執行個體,以此來講解__call__函數的用法,需要的朋友可以參考下 Python中有一個有趣的文法,只要定義類型的時候,實現__call__函數,這個類型就成為可調用的。 換句話說,我們可以把這個類型的對象當作函數來使用,相當於 重載了括弧運算子。 ? 1 2 3
這篇文章主要介紹了Python中實現三目運算的方法,本文用and/or 運算子類比實現三目運算,需要的朋友可以參考下 C語言中三目運算子 代碼如下: expression ?expr1:expr2; //expression 為真則取運算式expr1的值,否則取expr2的值 python三目實現方法: (1) expr=判斷運算式 and expr1 or expr2 判斷運算式為真,此時如果expr1為真則expr=expr1,為假則變成False or
這篇文章主要介紹了Python Property屬性的2種用法,本文分別給出了兩種用法的代碼執行個體,需要的朋友可以參考下 假設定義了一個類:C,該類必須繼承自object類,有一私人變數_x 代碼如下: class C: def __init__(self): self.__x=None 1.現在介紹第一種使用屬性的方法: 在該類中定義三個函數,分別用作賦值、取值和刪除變數(此處表達也許不很清晰,請看樣本) def getx(self): return
這篇文章主要介紹了使用httplib模組來製作Python下HTTP用戶端的方法,文中列舉了一些httplib下常用的HTTP方法,需要的朋友可以參考下 httplib 是 python中http 協議的用戶端實現,可以使用該模組來與 HTTP 伺服器進行互動。httplib的內容不是很多,也比較簡單。以下是一個非常簡單的例子,使用httplib擷取google首頁的html: ? 1
這篇文章主要介紹了Python中的日誌模組logging,包括Python下的記錄層級以及模組內常用方法的使用,需要的朋友可以參考下 許多應用程式中都會有日誌模組,用於記錄系統在運行過程中的一些關鍵資訊,以便於對系統的健全狀態進行跟蹤。在.NET平台中,有非常著名的第三方開源日誌組件log4net,c++中,有人們熟悉的log4cpp,而在python中,我們不需要第三方的日誌組件,因為它已經為我們提供了簡單易用、且功能強大的日誌模組:logging。logging模組支援將日