來自知乎 python十分鐘教程
【搭建開發環境】
1 可以到Welcome to Python.org下載安裝包,然後通過configure、make、make install進行安裝。
2 也可以到ActiveState | ActiveState去下載ActivePython元件包。(ActivePython是對Python核心和常用模組的二進位制包裝,它是ActiveState公司釋出的Python開發環境。ActivePython使得Python的安裝更加容易,並且可以應用在各種作業系統上。ActivePython包含了一些常用的Python擴充套件,以及Windows環境的程式設計介面)。對ActivePython來說,如果你是windows使用者,下載msi包安裝即可;如果你是Unix使用者,下載tar.gz包直接解壓即可。
3 Python的IDE,包括PythonWin、Eclipse+PyDev外掛、Komodo、EditPlus
【版本】
python2與python3是目前主要的兩個版本。
如下兩種情況下,建議使用python2:
1 你無法完全控制你即將部署的環境時;
2 你需要使用一些特定的第三方包或擴充套件時;
python3是官方推薦的且是未來全力支援的版本,目前很多功能提升僅在python3版本上進行。
【hello world】
1 建立hello.py
2 編寫程式:
if __name__ == '__main__':
print "hello word"
3 執行程式:python ./hello.py
【註釋】
1 無論是行註釋還是段註釋,均以#加一個空格來註釋。
2 如果需要在程式碼中使用中文註釋,必須在python檔案的最前面加上如下注釋說明:
# -* - coding: UTF-8 -* -
3 如下注釋用於指定直譯器
#! /usr/bin/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
【變數】
1 python中的變數不需要宣告,變數的賦值操作即使變數宣告和定義的過程。
2 python中一次新的賦值,將建立一個新的變數。即使變數的名稱相同,變數的標識並不相同。用id()函式可以獲取變數標識:
x = 1
print id(x)
x = 2
print id(x)
3 如果變數沒有賦值,則python認為該變數不存在
4 在函式之外定義的變數都可以稱為全域性變數。全域性變數可以被檔案內部的任何函式和外部檔案訪問。
5 全域性變數建議在檔案的開頭定義。
6 也可以把全域性變數放到一個專門的檔案中,然後通過import來引用:
gl.py檔案中內容如下:
_a = 1
_b = 2
use_global.py中引用全域性變數:
import gl
def fun():
print gl._a
print gl._b
fun()
【常量】
python中沒有提供定義常量的保留字。可以自己定義一個常量類來實現常量的功能。
class _const:
class ConstError(TypeError): pass
def __setattr__(self,name,vlaue):
if self.__dict__.has_key(name):
raise self.ConstError, “Can’t rebind const(%s)”%name
self.__dict__[name]=value
import sys
sys.modules[__name__]=_const()
【資料型別】
1 python的數字型別分為整型、長整型、浮點型、布林型、複數型別。
2 python沒有字元型別
3 python內部沒有普通型別,任何型別都是物件。
4 如果需要檢視變數的型別,可以使用type類,該類可以返回變數的型別或建立一個新的型別。
5 python有3種表示字串型別的方式,即單引號、雙引號、三引號。單引號和雙引號的作用是相同的。python程式設計師更喜歡用單引號,C/Java程式設計師則習慣使用雙引號表示字串。三引號中可以輸入單引號、雙引號或換行等字元。
【運算子和表示式】
1 python不支援自增運算子和自減運算子。例如i++/i–是錯誤的,但i+=1是可以的。
2 1/2在python2.5之前會等於0.5,在python2.5之後會等於0。
3 不等於為!=或<>
4 等於用==表示
5 邏輯表示式中and表示邏輯與,or表示邏輯或,not表示邏輯非
【控制語句】
1 條件語句:
if (表示式) :
語句1
else :
語句2
2 條件語句:
if (表示式) :
語句1
elif (表示式) :
語句2
…
elif (表示式) :
語句n
else :
語句m
3 條件巢狀:
if (表示式1) :
if (表示式2) :
語句1
elif (表示式3) :
語句2
…
else:
語句3
elif (表示式n) :
…
else :
…
4 python本身沒有switch語句。
5 迴圈語句:
while(表示式) :
…
else :
…
6 迴圈語句:
for 變數 in 集合 :
…
else :
…
7 python不支援類似c的for(i=0;i<5;i++)這樣的迴圈語句,但可以藉助range模擬:
for x in range(0,5,2):
print x
【陣列相關】
1 元組(tuple):python中一種內建的資料結構。元組由不同的元素組成,每個元素可以儲存不同型別的資料,如字串、數字甚至元素。元組是防寫的,即元組建立之後不能再修改。元組往往代表一行資料,而元組中的元素代表不同的資料項。可以把元組看做不可修改的陣列。建立元組示例如下:
tuple_name=(“apple”,”banana”,”grape”,”orange”)
2 列表(list):列表和元組相似,也由一組元素組成,列表可以實現新增、刪除和查詢操作,元素的值可以被修改。列表是傳統意義上的陣列。列表建立示例如下:
list=[“apple”,”banana”,”grage”,”orange”]
可以使用append方法來在尾部追加元素,使用remove來刪除元素。
3 字典(dictionary):由鍵-值對組成的集合,字典中的值通過鍵來引用。鍵和值之間用冒號隔開,鍵-值對之間用逗號隔開,並且被包含在一對花括號中。建立示例如下:
dict={“a”:”apple”, “b”:”banana”, “g”:”grage”, “o”:”orange”}
4 序列:序列是具有索引和切片能力的集合。元組、列表和字串都屬於序列。
【函式相關】
1 python程式由包(package)、模組(module)和函式組成。包是由一系列模組組成的集合。模組是處理某一類問題的函式和類的集合。
2 包就是一個完成特定任務的工具箱。
3 包必須含有一個__init__.py檔案,它用於標識當前資料夾是一個包。
4 python的程式是由一個個模組組成的。模組把一組相關的函式或程式碼組織到一個檔案中,一個檔案即是一個模組。模組由程式碼、函式和類組成。匯入模組使用import語句。
5 包的作用是實現程式的重用。
6 函式是一段可以重複多次呼叫的程式碼,函式定義示例如下:
def arithmetic(x,y,operator):
result={
“+”:x+y,
“-“:x-y,
“*”:x*y,
“/”:x/y
}
7 函式返回值可以用return來控制。
【字串相關】
1 格式化輸出:
format=”%s%d” % (str1,num)
print format
2 用+進行字串的合併:
str1=”hello”
str2=”world”
result=str1+str2
3 字串擷取可以通過索引/切片,也可以通過split函式。
4 通過切片擷取字串:
word=”world”
print word[0:3]
5 python使用==和!=來進行字串比較。如果比較的兩個變數的型別不相同,那麼結果必然為不同。
【檔案處理】
1 簡單處理檔案:
context=”hello,world”
f=file(“hello.txt”,’w’)
f.write(context);
f.close()
2 讀取檔案可以使用readline()函式、readlines()函式和read函式。
3 寫入檔案可以使用write()、writelines()函式
【物件和類】
1 python用class保留字來定義一個類,類名的首字元要大寫。當程式設計師需要建立的型別不能用簡單型別來表示時,就需要定義類,然後利用定義的類建立物件。定義類示例:
class Fruit:
def grow(self):
print “Fruit grow”
2 當一個物件被建立後,包含了三方面的特性,即物件的控制代碼、屬性和方法。建立物件的方法:
fruit = Fruit()
fruit.grow()
3 python沒有保護型別的修飾符
4 類的方法也分為公有方法和私有方法。私有函式不能被該類之外的函式呼叫,私有的方法也不能被外部的類或函式呼叫。
5 python使用函式”staticmethod()“或”@ staticmethod“指令的方法把普通的函式轉換為靜態方法。靜態方法相當於全域性函式。
6 python的建構函式名為__init__,解構函式名為__del__
7 繼承的使用方法:
class Apple(Fruit):
def …
【連線mysql】
1 用MySQLdb模組操作MySQL資料庫非常方便。示例程式碼如下:
import os, sys
import MySQLdb
try:
conn MySQLdb.connect(host=’localhost’,user=’root’,passwd=’’,db=’address’
except Exception,e:
print e
sys.exit()
cursor=conn.cursor()
sql=’insert into address(name, address) values(%s, %s)’
value=((“zhangsan”,”haidian”),(“lisi”,”haidian”))
try
cursor.executemany(sql,values)
except Exception, e:
print e
sql=”select * from address”
cursor.execute(sql)
data=cursor.fetchall()
if data
for x in data:
print x[0],x[1]
cursor.close()
conn.close()