位置:首頁 > 腳本語言 > Python教學 > Python教學

Python教學

Python是一種簡單易學,功能強大的編程語言。它包括了高效的高級數據結構和簡單而有效的方法,麵向對象編程。Python優雅的語法,動態類型,以及它天然的解釋能力,使其成為理想的語言,腳本和應用程序快速開發在大多數平台上的許多領域。

Python解釋器及其擴展標準庫的源碼和編譯版本可以從Python的Web站點,http://www.python.org/ 所有主要平台可自由查看,並且可以自由發布。該站點上也包含了分配和指針到很多免費的第三方Python模塊,程序,工具,以及附加的文檔。

Python的解釋器很容易擴展新的功能,並在C或C ++(或由C來調用其他語言)實現的數據類型。 Python也很適於作為定製應用的一種擴展語言。

有關標準對象和模塊的詳細介紹,請參見Python標準庫。Python語言參考給出了語言的更正式的定義。需要編寫C或C + +擴展,請閱讀擴展和嵌入Python解釋器和Python/C的API參考手冊。也有幾本書涵蓋了各個深度的Python。

本教學並不試圖全麵,涵蓋每一個功能,甚至每一個常用功能。相反,它介紹了許多Python中最引人注目的功能,會給Python語言的韻味和風格是一個好開始。看完之後,你就可以閱讀和編寫Python模塊和程序,將準備進一步了解Python標準庫描述的各種Python庫模塊

有關學習Python 的目錄:

  1. Python環境安裝配置
  2. Python數字
  3. Python字符串
  4. Python列表
  5. Python元組
  6. Python字典

1、Python環境安裝配置

Python是一種通用的計算機編程語言,躋身排名於世界前八最流行的編程語言。

使用Python,可以編寫出很多東西,如:Web應用程序,桌麵應用程序,遊戲。它可以作為完整的腳本解釋器和開發平台。

今天,Python語言由穀歌,歐洲核子研究中心,美國航空航天局,雅虎和許多大型組織使用。

在這個免費的初級課程,你可以學習 Python 的基本知識。希望本次介紹更多學習後,可以做非初學者教學,如構建 Web 應用程序和其他教學。可以使用它進行 Python2 或 Python3 編程。

在線運行Python代碼

運行Python代碼在你的機器上

試試以下這段代碼:
試試這個代碼,以測試是否已經正確安裝了Python。

(在Python2.x中,打印不必使用中括號,對於 Python3.X 是必需的)
執行後輸出結果:

Hello World!
This is a Python program

 

2、Python 數字

一台計算機上的基本層麵隻是二進製數字(0,1)。每一個編程語言支持某種形式的數字,但不是二進製。Python數字有更廣泛的理解,它支持:

  • 自然數(也稱為整數或短int)
  • 實數(浮點或浮點數)
  • 非常大的數字(long)
  • 複數(你可能知道,數學課裡的複數)

當定義數字被存儲在變量(一個“數據保持器”),則無需明確定義數字的類型。 例如:

#!/usr/bin/python
 
x = 3              # an integer stored (in variable x)
f = 3.1415926      # a floating real point (in variable f)
name = "Python"    # a string
big = 358315791L   # long, a very large number
z = complex(2,3)   # (2+3i)  a complex number. consists of real and imaginary part.
 
print(x)
print(f)
print(name)
print(big)
print(z)

結果:

3
3.1415926
Python
358315791
(2+3j)

最大值取決於你的平台上。在32位機上的最小值和最大值:

數據類型 最小值 最大值
signed int -2147483647 2147483647
long - 隻受內存限製
float 2.2250738585072014e-308  1.7976931348623157e+308

在64位計算機上的數字範圍:

數據類型 最小值 最大值
signed int -9223372036854775807 9223372036854775807
long - 隻受內存限製
float 2.2250738585072014e-308  1.7976931348623157e+308
 

操作符
你可以做算術運算,如加(+),乘(*),除(/),減( - )。 Python不支持 x 符號乘法:乘法符號為 *,  x 可被用作變量。 嘗試這個:

#!/usr/bin/env python
 
x = 3
y = 8
 
sum = x + y
 
print(sum)

預期的輸出結果:

11

用戶輸入

也可以要求用戶使用 raw_input 函數進行輸入:

在這種情況下,我們希望整數(整數),這就是為什麼我們使用int()函數。如果想要輸入浮點數,那麼應該使用:float(raw_input(“Enter x:”))。

在最新的 Python 版本,可以使用 input() 函數來代替:

#!/usr/bin/env python
 
x = int(input("Enter x:"))
y = int(input("Enter y:"))
 
sum = x + y
print(sum)


3、Python3 字符串

Python已經在內置支持用於存儲和操作文本:字符序列被稱為子符串。 要定義字符串應將文本放在引號之間,如果使用單引號('),雙引號(")或三引號("""),這並不重要。並無規定最少和最大在字符串中可存儲字符的數目。一個空字符串冇有文字引號。 例如:

s = 'hello'
s = "hello"
s = """hello"""

我們可以很容易打印文本和獲取文本的長度:

#!/usr/bin/env python
 
s = "Hello world" # define the string
print(s)
print(len(s)) # prints the length of the string

字符串的索引

Python索引字符串的字符,每一個索引與一個唯一的字符相關聯。例如,在字符串“python”中的字符的索引:

python string

Python字符串的索引

第0索引用於字符串的第一個字符。訪問字符使用[]語法。因此,s[0] 是一個字符串的第一個字符。索引s[1]是第二個字符。  字符不存在的不能被使用。上麵的例子索引隻到5,這意味著s[6]是不可訪問的。請嘗試以下操作:

#!/usr/bin/python
 
s = "Hello Python"
print(s)      # prints whole string
print(s[0])   # prints "H"
print(s[1]) # prints "e"

如果使用 Python3.x print函數需要使用括號。

字符串切片

給定一個字符串s,切片的語法是:

s[ startIndex : pastIndex ]
startIndex是字符串的開始索引。pastIndex是切片的終點。如果省略了第一個索引,切片將從頭開始。如果省略了最後一個索引,切片則到字符串的結尾。 例如:
#!/usr/bin/python
 
s = "Hello Python"
print(s[0:2]) # prints "He"
print(s[2:4]) # prints "ll"
print(s[6:])  # prints "Python"

修改字符串

在Python中有許多方法可以用於修改字符串。它們創建字符串,取代了舊的字符串的副本。

#!/usr/bin/python
 
s = "Hello Python"
 
print(s + ' ' + s) # print concatenated string.
print(s.replace('Hello','Thanks')) # print a string with a replaced word
 
# convert string to uppercase
s = s.upper()
print(s)
 
# convert to lowercase
s = s.lower()
print(s)


Python字符串比較,包含和串聯

要測試兩個字符串是否相等使用等號(= =)。可以使用“in”關鍵字測試一個字符串包含子字符串。要添加字符串連接在一起使用加(+)運算符。

#!/usr/bin/python
 
sentence = "The cat is brown"
q = "cat"
 
if q == sentence:
    print('strings equal')
 
if q in sentence:
    print(q + " found in " + sentence)

轉義字符

在Python中有特殊的字符,可以在字符串中使用這些特殊的字符。可以使用它們來創建新行,製表符等等。讓我們實際操作例子,使用“\n”或換行符:

#!/usr/bin/env python
 
str1 = "In Python,\nyou can use special characters in strings.\nThese special characters can be..."
print(str1)

有時可能想顯示雙引號括起來,但是它們已經習慣使用字符串在開始或結束位置,所以我們不得不轉義它們。 一個例子:

#!/usr/bin/env python
 
str1 = "The word \"computer\" will be in quotes."
print(str1)

在字符串中使用特殊字符如下所示:

操作 字符
新行 \n
引號 \"
單引號 \'
製表符 \t
反斜杠 \\

4、Python 列表


Python有一個數據類型叫列表,被稱為 ‘list’.   列表可以包含字符串(文字)和數字。列表使用的是括號定義 [].  要訪問數據,使用相同的括號。如字符串,第一元素是[0]。列表用法示例如下:

#!/usr/bin/python
 
l = [ "Drake", "Derp", "Derek", "Dominique" ]
 
print l     # prints all elements
print l[0]  # print first element
print l[1]  # prints second element

輸出結果:

['Drake', 'Derp', 'Derek', 'Dominique']
Drake
Derp

追加和刪除列表項

我們可以使用函數 append() 和 remove() 來操作列表。

#!/usr/bin/python
 
l = [ "Drake", "Derp", "Derek", "Dominique" ]
 
print l                # prints all elements
l.append("Victoria")   # add element.
print l                # print all elements
l.remove("Derp")       # remove element.
l.remove("Drake")      # remove element.
print l                # print all elements.

輸出結果:

['Drake', 'Derp', 'Derek', 'Dominique']
['Drake', 'Derp', 'Derek', 'Dominique', 'Victoria']
['Derek', 'Dominique', 'Victoria']

列表排序

我們可以使用 sort()函數排序列表。

#!/usr/bin/python
 
l = [ "Drake", "Derp", "Derek", "Dominique" ]
 
print l     # prints all elements
l.sort()    # sorts the list in alphabetical order
print l     # prints all elements

輸出結果:

['Drake', 'Derp', 'Derek', 'Dominique']
['Derek', 'Derp', 'Dominique', 'Drake']

如果想要列表降序排列,可使用 reverse()函數。

#!/usr/bin/python
 
l = [ "Drake", "Derp", "Derek", "Dominique" ]
 
print l     # prints all elements
l.sort()    # sorts the list in alphabetical order
l.reverse() # reverse order.
print l     # prints all elements

輸出結果:

['Drake', 'Derp', 'Derek', 'Dominique']
['Drake', 'Dominique', 'Derp', 'Derek']

5、Python 元組


元組數據結構用於存儲一組數據。元組中的元素以逗號分隔。 一旦創建,元組中的值不能改變。在 Python 中一個空的元組將被定義為:

tuple = ()

逗號需要用在一個項目的元組:

tuple = (3,)

一個項目使用逗號可能有點反直觀,但是冇有逗號在單個項目中,則無法訪問該元素。 對於多個項目,不必使用逗號在結尾。這是元組的一個例子:

personInfo = ("Diana", 32, "New York")

元組內的數據可以是一個或多個數據類型,如文本和數字。 數據存取訪問,我們可以簡單的使用索引的數據。像往常一樣,索引是一個在括號內的數字:

#!/usr/bin/env python
 
personInfo = ("Diana", 32, "New York")
print(personInfo[0])
print(personInfo[1])

輸出結果:

Diana
32

如果想一次賦值給多個變量,可以使用元組:

#!/usr/bin/env python
 
name,age,country,career = ('Diana',32,'Canada','CompSci')
print(country)

在右側的元組被寫入。左邊的運算等於運算符是對應的變量。輸出如下:

Canada

Python中追加元素到元組

如果有一個元組,可以將它執行 + 操作。 可以隻添加一個元組到現有的元組。

#!/usr/bin/env python
 
x = (3,4,5,6)
x = x + (1,2,3)
print(x)

輸出:

(3, 4, 5, 6, 1, 2, 3)

轉換元組

元組到列表是將元組轉換為一個元組,可以使用 tuple() 函數。

#!/usr/bin/env python
 
listNumbers = [6,3,7,4]
x = tuple(listNumbers)
print(x)

可以使用 list()函數將現有的元組轉換為列表:

#!/usr/bin/env python
 
x = (4,5)      
listNumbers = list(x)  
print(listNumbers)

元組轉為字符串,如果元組中隻包含字符串(文本),可以使用:

#!/usr/bin/env python
 
person = ('Diana','Canada','CompSci')
s = ' '.join(person)
print(s)

排序元組

元組數組是不能修改的,並且冇有任何排序功能。但是可以使用 sorted() 函數返回一個列表。這個列表可被轉換到一個新的元組。請記住元組是不能被修改的,我們簡單的創建一個新的元組,在排序時出現這種情況。

#!/usr/bin/env python
 
person = ('Alison','Victoria','Brenda','Rachel','Trevor')
person = tuple(sorted(person))
print(person)

6、Python3 字典

字典可以被看作是一個無序的鍵 : 值對。 一對大括號用於創建一個空的字典: {}.  每個元素可以映射到一個特定的值。整數或字符串可以用來作索引。字典冇有順序。讓我們用一個例子作一個簡單的解釋:

#!/usr/bin/python
 
words = {}
words["Hello"] = "Bonjour"
words["Yes"] = "Oui"
words["No"] = "Non"
words["Bye"] = "Au Revoir"
 
print words["Hello"]
print words["No"]

輸出:

Bonjour
Non

我們並不局限於在值部分來用單詞的定義。一個演示:

#!/usr/bin/python
 
dict = {}
dict['Ford'] = "Car"
dict['Python'] = "The Python Programming Language"
dict[2] = "This sentence is stored here."
 
print dict['Ford']
print dict['Python']
print dict[2]

輸出:

Car
The Python Programming Language
This sentence is stored here.

操作字典
我們可以在字典聲明之後操作存儲在其中的數據。這顯示在下麵的例子:

#!/usr/bin/python
 
words = {}
words["Hello"] = "Bonjour"
words["Yes"] = "Oui"
words["No"] = "Non"
words["Bye"] = "Au Revoir"
 
print words            # print key-pairs.
del words["Yes"]       # delete a key-pair.
print words            # print key-pairs.
words["Yes"] = "Oui!"  # add new key-pair.
print words            # print key-pairs.

輸出:

{'Yes': 'Oui', 'Bye': 'Au Revoir', 'Hello': 'Bonjour', 'No': 'Non'}
{'Bye': 'Au Revoir', 'Hello': 'Bonjour', 'No': 'Non'}
{'Yes': 'Oui!', 'Bye': 'Au Revoir', 'Hello': 'Bonjour', 'No': 'Non'}