天天看點

10 個簡單有用的 Python 程式設計技巧

10 個簡單有用的 Python 程式設計技巧

有人說:一個人從1歲活到80歲很平凡,但如果從80歲倒着活,那麼一半以上的人都可能不凡。

生活沒有捷徑,我們踩過的坑都成為了生活的經驗,這些經驗越早知道,你要走的彎路就會越少。 

關于Python程式設計的技巧簡介

當今世界,Python 是使用最多的語言之一。它不僅僅是一種語言,還是一種以适當、簡單和緊湊的方式做事的方式。Python 是最知名的進階語言之一,尤其在開源領域。最關鍵的是,對 Python 程式設計了解得越多,就越感覺自己知之甚少,更想了解更多關于 Python 程式設計的知識。

Python 程式設計可以很容易地呈現到任何作業系統中。通常會發現運作在 Python 上的機率很大;有些架構隻支援 Python,如 Django 和 Pyramid,甚至還有像 Flask 和 Bottle 這樣的微架構。Python 的标準庫包括許多網際網路協定,如 HTML、XML、JSON、電子郵件處理、對 FTP、IMAP的支援以及易于使用的 Socket 接口。使用 Python 最常見的目的是進行科學和數值計算。例如,SciPy、Pandas 和 iPython。Python 程式設計仍然是有史以來最靈活、最簡單和最有創造力的 Python 語言。本文将介紹關于 Python 程式設計的10個簡單有用的技巧,希望對大家有所幫助。

10 個簡單有用的 Python 程式設計技巧

子產品

Python 可建立自己的子產品。例如,可建立函數和子產品,并将其放在單獨的檔案夾中。接下來需要做的就是寫下特定的代碼,在大部分工作中可共同使用這些代碼,然後将其轉換成一個子產品,并放在一個單獨的檔案夾中, 可節省很多時間。

如果程式很大,那麼需要保持程式的效率和可管理性。要管理它們,可将其分解為單獨的檔案,将多個函數和定義放入一個檔案中,并通過将導入到腳本和程式中來使用。請注意的一點是,這些檔案的擴充名為 .py。一旦導入,它将自動建立一個 .pyc 擴充名檔案,該檔案的加載速度将比普通的 *.py 檔案快得多。

10 個簡單有用的 Python 程式設計技巧

TRUE 與 FALSE

這也是最常用的方法之一。例如,根據情況更改 Vsync=True 或 False。但與在這裡試圖解釋的有點不同,不過仍然是相關的。在 Python 中,TRUE 等于1,FALSE 等于0。簡而言之,TRUE 意味着同意,FALSE 意味着不同意,在 Python 中應用的情況最多。是以,可使用 “=” 号指定 TRUE 和 FALSE 語句,也可以利用 “==” 号檢查其相等性。

Python 性能調試

在編寫程式時,通常我們的主要目标是使程式高效、快速和緊湊。但有些時候,卻無法做到令程式緊湊。是以,在這種情況下,例如,在處理詞典中的代碼時,可嘗試另一種口述項的方法,隻需選擇直接添加一個項目,然後檢查插入的項目是否存在或需要更新。通過這樣操作,無需檢查每個其他項來比對,然後更新,這會使應用程式變慢。以下是一個較常見的示例:

p = 16

myDiction = {}

for i in range(0, p):

char = 'abcd'[i%4]

if char not in myDict:

myDiction[char] = 0

myDiction[char] += 1

print(myDiction)      

以上的示例是編寫它的正常方式,下面是它将如何讓代碼運作得更快:

p = 16
myDiction = {}
for I in range(0, p):
char = ‘abcd’[i%4]
try:
myDiction[char] += 1
except KeyError:
myDiction[char] = 1
print(myDiction)      

PY2exe

通常,當用任何語言編寫代碼時,将它們編譯成可執行檔案有時會很麻煩,特别是在使用 Windows 的情況下。但對于 Python 程式設計而言,也會非常簡單,即下載下傳 PY2exe,這也是一個開源軟體,可在 Sourceforge.net 上進行下載下傳。通過使用這款應用程式,甚至可以簡單地将子產品轉換成可執行檔案,而不像 C 或 C++,這實際上是編譯成可執行檔案時的心理壓力。

Sets

如果您是一個數學狂人,那麼肯定會喜歡這個小技巧。讓我們舉一個簡單的 Microsoft Excel 例子。有些人傾向于隻用 Excel 來分組和建立資料庫。它具備良好的安全性。他們對設定文本、顔色和内容的格式不感興趣,是以隻需建立自己的 Python 程式設計軟體堆棧,并建立自己的資料庫。出于某些安全因素,大家更喜歡 Python 而不是 MySQL。是以,Sets 在建立資料庫時非常有用。尤其是當想要查找比對項、建立組和其他類似任務時,以下是其簡單的示例。

>>> A = {1, 2, 3, 3}
>>> A
set([1, 2, 3])
>>> B = {3, 4, 5, 6, 7}
>>> B
set([3, 4, 5, 6, 7])
>>> A | B
set([1, 2, 3, 4, 5, 6, 7])
>>> A & B
set([3])
>>> A - B
set([1, 2])
>>> B - A
set([4, 5, 6, 7])
>>> A ^ B
set([1, 2, 4, 5, 6, 7])
>>> (A ^ B) == ((A - B) | (B - A))
True      

合并 Python 和 Shell 腳本

如果您是一個開源的人,那麼肯定會使用 Linux 作為主要的作業系統,或者至少是雙引導。是以,Linux 已經包含了 Python。同時,它與 Linux 的相容性也非常好。這為我們提供了将其編譯和合并在一起的好處。隻需建立一個腳本,該腳本既可以作為普通的 Unix 腳本工作,也可以作為解釋 Python 代碼使用。在編寫 Shell 腳本時,需要一個四引号字元和一個空字元串到 Shell 中,但是需要在 Python 中使用一個帶有引号字元的三引号字元串來實作這一點。請記住,腳本中的第一個字元串可以很容易地存儲為子產品的文檔字元串,但在此之後,Python 解釋器可将直接忽略。以下是具體示例:

#!/bin/sh
__doc__ = """
Demonstrate how to mix Python + shell script.
"""
import sys
print "Hello World!"
print "This is Python", sys.version
print "This is my argument vector:", sys.argv
print "This is my doc string:", __doc__
sys.exit (0)      

JSON-esque

Python 下有很多隐藏的東西,需要一定的時間才能夠找出來,其中最著名的是 JSON-esque,可以建立嵌套字典而無需顯式建立子字典。當我們引用時,它們就神奇地出現了。

示例如下:

users = tree()
users['harold']['username'] = 'hrldcpr'
users['handler']['username'] = 'matthandlersux'      

現在可使用以下指令将上述内容呈現為 JSON 的格式:

>>>print(json.dumps(users))      

如下所示:

{"harold": {"username": "hrldcpr"}, "handler": {"username": "matthandlersux"}}      

Pip

大多數人可能都了解 Pip。有時,需要在安裝前檢查軟體包的源代碼。大多數情況下,它用于安裝某些軟體包的更新版本。是以,可簡單地安裝 Pip 并執行以下操作:

>>> pip install --download sqlalchemy_download sqlalchemy
>>>pip install --no-install sqlalchemy
>>>pip install --no-download sqlalchemy      

如果要安裝包的最新版本,可直接從 GIT 存儲庫中進行檢查。

>>>pip install git+https://github.com/simplejson/simplejson.git
>>>pip install svn+svn://svn.zope.org/repos/main/zope.interface/trunk      

Virtualenv

Python 的另一個重要功能是 Virtualenv。Virtualenv 表示虛拟環境,這是 python 的一個非常棒的功能。基本上,要在不同條件下測試 Python,通常必須更改全局 Python 環境。然而,對 Python 環境進行沙箱化的主要好處之一是,可以輕松地在不同的 Python 版本和包依賴項下測試一個代碼。如要安裝 virtualenv,需要先安裝 Pip,可以執行以下操作:

easy_install pip
pip install virtualenv
virtualenv python-workspace
cd python-workspace
source ./bin/activate
python      

Python 中的 Zen

Python 的 Zen 是 Python 程式設計的迷你指南。即使沒有編寫 Python 程式,閱讀它仍然是一件有趣的事情,且隻需轉到 Python 解釋器并鍵入以下内容即可:

>>>import this