十分鐘讓你入門Python的教程

來源:互聯網
上載者:User

Python(蟒蛇)是一種動態解釋型的程式設計語言。Python可以在Windows、UNIX、MAC等多種作業系統上使用,也可以在Java、.NET開發平台上使用。

 

 

python logo

【特點】

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

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

3 Python代碼塊使用空格或定位字元縮排的方式分隔代碼。

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

5 Python是強型別語言,變數建立後會對應一種資料類型,出現在統一運算式中的不同類型的變數需要做類型轉換。

 

 

python book

【搭建開發環境】

1 可以到www.python.org下載安裝包,然後通過configure、make、make install進行安裝。

2 也可以到www.activestate.com去下載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()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.