本文詳細羅列歸納了Python常見數據結構,并附以實例加以說明,相信對讀者有一定的參考借鑒價值。總體而言Python中常見的數據結構可以統稱為容器(container)。而序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。一、序列(列表、元組和字符串)序列中的每個元素都有自己的編號。Python中有6種內建的序列。其中列表和元組是最常見的類型。其他包括字符串、Unicode字符串、buffer對象和xrange對象。下面重點介紹下列表
系統 2019-09-27 17:38:35 1643
1.能調用方法的一定是對象,比如數值、字符串、列表、元組、字典,甚至文件也是對象,Python中一切皆為對象。str1='hello'str2='world'str3=''.join([str1,str2])print(str3)2.三種基本的文件操作模式:r(only-read)、w(only-write)、a(append)對文件進行操作的流程:第一,建立文件對象。第二,調用文件方法進行操作。第三,不要忘了關閉文件。(文件不關閉的情況下,內容會放在緩存
系統 2019-09-27 17:38:34 1643
深入理解pythontry異常處理機制#python的try語句有兩種風格#一:種是處理異常(try/except/else)#二:種是無論是否發生異常都將執行最后的代碼(try/finally)try/except/else風格try:<語句>#運行別的代碼except<名字>:<語句>#如果在try部份引發了'name'異常except<名字>,<數據>:<語句>#如果引發了'name'異常,獲得附加的數據else:<語句>#如果沒有異常發生#try的
系統 2019-09-27 17:38:34 1643
1、安裝virtulenv、virtulenvwrapper包pipinstallvirtualenvvirtualenvwrapper2、virtualenvwrapper是virtualenv的擴展工具,可以方便的創建、刪除、復制、切換不同的虛擬環境。3、設置環境變量,把下面兩行添加到~/.bash_profile里exportWORKON_HOME=/software/venvsource/usr/local/bin/virtualenvwrappe
系統 2019-09-27 17:38:34 1643
裝飾器(decorator)是一種高級Python語法。裝飾器可以對一個函數、方法或者類進行加工。在Python中,我們有多種方法對函數和類進行加工,比如在Python閉包中,我們見到函數對象作為某一個函數的返回結果。相對于其它方式,裝飾器語法簡單,代碼可讀性高。因此,裝飾器在Python項目中有廣泛的應用。這是在Python學習小組上介紹的內容,現學現賣、多練習是好的學習方式。第一步:最簡單的函數,準備附加額外功能#-*-coding:gbk-*-'''
系統 2019-09-27 17:38:30 1643
Python的一個備份程序這是一個備份腳本。路徑請自行更換。這是一個備份腳本,按照當前日期分目錄,以時間作為文件名,并且可以在文件名加入備注信息.以zip方式作為壓縮方式,有特殊需求可以更改.實例代碼:#!/usr/bin/python#coding=utf-8#這是一個備份腳本,按照當前日期分目錄,以時間作為文件名,并且可以在文件名加入備注信息.#以zip方式作為壓縮方式,有特殊需求可以更改.importosimporttimesource=['/hom
系統 2019-09-27 17:38:29 1643
閉包并不是什么新奇的概念,它早在高級語言開始發展的年代就產生了。閉包(Closure)是詞法閉包(LexicalClosure)的簡稱。對閉包的具體定義有很多種說法,這些說法大體可以分為兩類:一種說法認為閉包是符合一定條件的函數,比如參考資源中這樣定義閉包:閉包是在其詞法上下文中引用了自由變量的函數。另一種說法認為閉包是由函數和與其相關的引用環境組合而成的實體。比如參考資源中就有這樣的的定義:在實現深約束時,需要創建一個能顯式表示引用環境的東西,并將它與相
系統 2019-09-27 17:38:28 1643
前言每個人寫腳本時的格式都會有所不同,有的會注明腳本本身的一些信息,有的則開門見山,這在小團隊里其實沒什么,基本別人做什么你也都知道,但如果放到大的團隊就比較麻煩了,因為隨著人數的增多,腳本成指數增長,如果每個人風格不統一,到最后就會造成非常大的弊端,所以當團隊人數增長后,就必須有一套標準,形成大家統一的編碼規則,這樣即使不看腳本具體實現,也知道這個腳本的功能是什么。我們今天分享的一段腳本是自動添加注釋信息的腳本,添加的信息包括腳本名稱、作者、時間、描述、
系統 2019-09-27 17:38:27 1643
今天用Python提取了Linux內核源代碼的目錄樹結構,沒有怎么寫過腳本程序,我居然折騰了2個小時,先是如何枚舉出給定目錄下的所有文件和文件夾,os.walk可以實現列舉,但是os.walk是只給出目錄名和文件名,而沒有絕對路徑。使用os.path.listdir可以達到這個目的,然后是創建目錄,由于當目錄存在是會提示創建失敗的錯誤,所以我先想刪除所有目錄,然后再創建,但是發現還是有問題,最好還是使用判斷如果不存在才創建目錄,存在時就不創建,貼下代碼:#
系統 2019-09-27 17:38:11 1643
GIL在Python中,由于歷史原因(GIL),使得Python中多線程的效果非常不理想.GIL使得任何時刻Python只能利用一個CPU核,并且它的調度算法簡單粗暴:多線程中,讓每個線程運行一段時間t,然后強行掛起該線程,繼而去運行其他線程,如此周而復始,直到所有線程結束.這使得無法有效利用計算機系統中的"局部性",頻繁的線程切換也對緩存不是很友好,造成資源的浪費.據說Python官方曾經實現了一個去除GIL的Python解釋器,但是其效果還不如有GIL
系統 2019-09-27 17:37:58 1643