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環境安裝配置
Python是一種通用的計算機編程語言,躋身排名於世界前八最流行的編程語言。
使用Python,可以編寫出很多東西,如:Web應用程序,桌麵應用程序,遊戲。它可以作為完整的腳本解釋器和開發平台。
今天,Python語言由穀歌,歐洲核子研究中心,美國航空航天局,雅虎和許多大型組織使用。
在這個免費的初級課程,你可以學習 Python 的基本知識。希望本次介紹更多學習後,可以做非初學者教學,如構建 Web 應用程序和其他教學。可以使用它進行 Python2 或 Python3 編程。
在線運行Python代碼
運行Python代碼在你的機器上
- Python官方安裝指南
- PyCharm IDE (桌麵IDE)
- Atom + script plugin (最小IDE)
試試以下這段代碼:
試試這個代碼,以測試是否已經正確安裝了Python。
#!/usr/bin/env python print("Hello World!") print("This is a Python program.")
(在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 函數進行輸入:
#!/usr/bin/env python x = int(raw_input("Enter x:")) y = int(raw_input("Enter y:")) sum = x + y print(sum)
在這種情況下,我們希望整數(整數),這就是為什麼我們使用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字符串的索引
第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 ]
#!/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'}