python的筆記(一)

來源:互聯網
上載者:User

標籤:python

Python的基本特點
  • 一種動態解釋型的程式設計語言

  • 規範的代碼: Python 採用強制縮排的方式使得代碼具有極佳的可讀性。

  • 進階語言特性: 封裝記憶體管理等

  • 可移植性: 程式如果避免使用依賴於系統的特性,那麼無需修改就可以在任何平台上運行

  • 解釋性: 直接從原始碼運行程式,不再需要擔心如何編譯器,使得程式更加易於移植。

  • 物件導向: 支援面向過程的編程也支援物件導向的編程。

  • 可擴充性: 需要保密或者高效的代碼,可以用C或C++編寫,然後在Python程式中使用它們。

  • 可嵌入性: 可以把Python嵌入C/C++程式,從而向你的程式使用者提供指令碼功能。

  • 豐富的庫: 包括Regex、文檔產生、單元測試、線程、資料庫、網頁瀏覽器、CGI、FTP 電子郵件、XML、XML-RPC、HTML、WAV檔案、密碼系統、GUI(圖形化使用者介面)、Tk和其他與系統有關的操作。 除了標準庫以外,還有許多其他高品質的庫,如wxPython、Twisted和Python映像庫等等。

  • 概括: Python確實是一種十分精彩又強大的語言。它合理地結合了高效能與使得編寫程式簡單有趣的特色。

  • Python使用C語言開發,但是Python不再有C語言中的指標等複雜的資料類型。

  • python具有很強的物件導向特性,而且簡化了物件導向的實現。它消除了保護類型、抽象類別、介面等物件導向的元素。

  • Python僅有31個保留字,而且沒有分號、大括弧、begin、end等標記。

Python 安裝與運行
  • Python 

  • windows時,運行安裝檔案之後,還需要配置環境變數,在環境變數的“Path”後面加上英文的分號及python安裝目錄 如:“;C:\Python27” 不配置環境變數的話,沒法在命令列直接使用python

  • 有兩種使用Python運行你的程式的方式

    @echo off  python.exe test.py  pause

    而“test.py”裡面的內容是需要執行的程式

    • 1.使用互動帶提示符的解譯器 直接雙擊運行“python.exe”,在裡面輸入內容,如: print ‘hello word‘

    • 2.使用源檔案 在Python的安裝目錄下,建一個批處理(test.bat),寫入:

Python命令列選項
選項      作用-c cmd   在命令列直接執行python代碼。如python -c print "hello world"。-d       指令碼編譯後從解譯器產生調試資訊。同PYTHONDEBUG=1。-E       忽略環境變數。-h       顯示python命令列選項協助資訊。-i       指令碼執行後馬上進入互動命令列模式。同PYTHONINSPECT=1。-O       在執行前對解譯器產生的位元組碼進行最佳化。同 PYTHONOPTIMIZE=1。-OO      在執行前對解譯器產生的位元組碼進行最佳化,並刪除最佳化代碼中的嵌入式文檔字串。-Q arg   除法規則選項,-Qold(default),-Qwarn,-Qwarnall,-Qnew。-S       解譯器不自動匯入site.py模組。-t       當指令碼的tab縮排格式不一致時產生警告。-u       不緩衝stdin、stdout和stderr,預設是緩衝的。同PYTHONUNBUFFERED=1。-v       產生每個模組的資訊。如果兩個-v選項,則產生更詳細的資訊。同PYTHONVERBOSE=x。-V       顯示Python的版本資訊。-W arg   出錯資訊控制。(arg is action:message:category:module:lineno)-x       忽略源檔案的首行。要在多平台上執行指令碼時有用。file     執行file裡的代碼。-        從stdin裡讀取執行代碼。
常用技巧
python -m SimpleHTTPServer [port]  # 目前的目錄開啟一個小的檔案伺服器, 預設連接埠8000# 另外,python 3,中是 python -m http.serverpython -m this               # python‘s Zenpython -m calendar           # 顯示一個日曆python -m antigravity       # 這個有意思python -m smtpd -n -c DebuggingServer localhost:20025  # 可以寫一個小指令碼作為“郵件伺服器”與MUA軟體互動python -c "import django"  # 這句話用來探測是否能運行成功
環境變數配置

*1. python 安裝之後,預設 windows 下不能直接使用 python 命令。需要配置環境變數。 假設python的安裝路徑為c:\python27,則修改我的電腦->屬性->進階->環境變數->系統變數中的PATH為: (為了在命令列模式下運行Python命令,需要將python.exe所在的目錄附加到PATH這個環境變數中。)

PATH=PATH;c:\python27

上述環境變數設定成功之後,就可以在命令列直接使用python命令。或執行"python *.py"運行python指令碼了。

第三方庫的匯入
如何使Python解譯器能直接import預設安裝路徑以外的第三方模組?為了能 import 預設安裝路徑以外的第三方的模組(如自己寫的模組, 或者遇到第三方庫版本衝突時)系統內容是一個list,可以將自己需要的庫添加進入,例如mysql庫,hive庫等等。有三種方式添加,均驗證通過:1.代碼中添加:
import syssys.pathsys.path.append(path)#sys.path.insert(1, ‘./libs‘) # 這寫法會讓這庫的優先順序更高
這寫法只讓這啟動並執行代碼記憶體中生效,不影響其它程式。2. 使用pth檔案永久添加    使用pth檔案,在 site-packages 檔案中建立 .pth 檔案,將模組的路徑寫進去,一行一個路徑,以下是一個樣本,pth檔案也可以使用注釋:        # .pth file for the  my project(這行是注釋)        E:\DjangoWord        E:\DjangoWord\mysite        E:\DjangoWord\mysite\polls    這個不失為一個好的方法,但存在管理上的問題,而且不能在不同的python版本中共用,還會影響所有運行中的python程式。3.使用 PYTHONPATH 環境變數    使用 PYTHONPATH 環境變數,在這個環境變數中輸入相關的路徑,不同的路徑之間用逗號(英文的!)分開,如果 PYTHONPATH 變數還不存在,可以建立它!    路徑會自動加入到 sys.path 中,而且可以在不同的python版本中共用,應該是一樣較為方便的方法    linux 設定方法:        命令列  export PYTHONPATH=/usr/lib/python27/site-packages/  本次對話生效        vi ~/.bash_profile        在最後添加 export PYTHONPATH=/usr/lib/python27/site-packages/        重新登陸即可生效, 只對登陸使用者生效        vi /etc/profile        在最後添加 export PYTHONPATH=/usr/lib/python27/site-packages/        重新登陸即可生效, 對所有使用者有效    windows 設定方法:        命令列  SET "PYTHONPATH=C:\Python27\Lib\site-packages"  本次對話生效        “環境變數”,建立一個名為“PYTHONPATH”的變數,指向自己指定的目錄即可整個電腦生效。
python中的檔案類型
1.Python的檔案類型分為3種,即原始碼、位元組代碼和最佳化代碼。這些都可以直接運行,不需要進行編譯或串連。2.原始碼以“.py”為副檔名,由python來負責解釋;3.源檔案經過編譯後產生副檔名為“.pyc”的檔案,即編譯過的位元組檔案。  這種檔案不能使用文字編輯器修改。pyc檔案是和平台無關的,可以在大部分作業系統上運行。  如下語句可以用來產生pyc檔案:    import py_compile    py_compile.compile(‘hello.py‘)4.經過最佳化的源檔案會以“.pyo”為尾碼,即最佳化代碼。  它也不能直接用文字編輯器修改,如下命令可用來產生pyo檔案:    python -O -m py_complie hello.py
位元組編譯的 .pyc 檔案    輸入一個模組相對來說是一個比較費時的事情,所以Python做了一些技巧,以便使輸入模組更加快一些。    一種方法是建立 位元組編譯的檔案,這些檔案以 .pyc 作為副檔名。另外,這些位元組編譯的檔案也是與平台無關的。    當你在下次從別的程式輸入這個模組的時候,.pyc 檔案是十分有用的——它會快得多,因為一部分輸入模組所需的處理已經完成了。    注意:雖說 python 是源碼公開的,但伺服器上可以只保留 .pyc 檔案,而不保留源碼,照樣正常運行。這樣可以保證源碼不被看到。    pyc的內容,是跟python的版本相關的,不同版本編譯後的pyc檔案是不同的,2.5編譯的pyc檔案,2.4版本的 python是無法執行的。    根據python源碼中提供的opcode,可以根據pyc檔案反編譯出 py檔案源碼,2.6之後源碼不提供反編譯,不過可以另外設法做到。
將 py 檔案產生 pyc 檔案:1.直接通過命令來運行,可以看到下面的命令中並沒有用到 compile() 函數, 這是因為 py_compile 模組的 main() 函數中調用了 compile() .    python -m py_compile test.py    python -O -m py_compile test.py    -O 最佳化成位元組碼    -m 表示把後面的模組當成指令碼運行    -OO 表示最佳化的同時刪除文檔字串    如果想看 compile(), compile_dir(), compile_path() 具體每個參數用途,    可以使用 print py_compile.compile().__doc__ 來查看,或者直接開啟 py_compile.py,compileall.py 檔案來看。2.通過寫python代碼來編譯.py檔案,然後運行這個python指令碼即可,運行過程中輸入你要編譯的.py檔案。    import py_compile    file=raw_input("Please enter filename: ")    py_compile.compile(file)3.如果是在Linux環境下,可以通過寫一個bash指令碼編譯.py。    #! /bin/sh    (echo ‘import compileall‘; echo ‘compileall.compile_dir("./")‘) | python    完成上述代碼後用bash命令運行即可。4.禁止 python 在啟動並執行時候自動產生 .pyc 檔案  python2.6 新增了一個特性,只要把環境變數 PYTHONDONTWRITEBYTECODE 設定為 x,就不再會產生 .pyc 檔案了。


本文出自 “營運小子” 部落格,請務必保留此出處http://kaliroot.blog.51cto.com/8763915/1876053

python的筆記(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.