這是一篇針對(duì)初學(xué)者的 Python 基礎(chǔ)教程,只要你認(rèn)真閱讀,花費(fèi) 30 分鐘即可快速了解 Python。
這篇 Python 入門教程講解的知識(shí)點(diǎn)包括:Python 編程環(huán)境的搭建、Python 基本操作入門、Python 數(shù)據(jù)類型、Python 語(yǔ)句和函數(shù)。
1、根據(jù) Windows 版本(64位/32位)從 Python 官網(wǎng)安裝下載對(duì)應(yīng)的版本,如圖 1 所示。
官方下載網(wǎng)址:https://www.python.org/
2、下載完成后,雙擊文件以運(yùn)行安裝程序安裝 Python,如圖 2 所示:
注意,需要勾選“Add Python 3.6 to PATH”選項(xiàng)后單擊“Customize installation”選項(xiàng)。這個(gè)選項(xiàng)用于將 Python 3.6 加入系統(tǒng)路徑,勾選該選項(xiàng)會(huì)使日后的操作非常方便;如果沒有勾選這個(gè)選項(xiàng)就需要手動(dòng)為系統(tǒng)的環(huán)境變量添加路徑。
3、在彈出的選項(xiàng)卡中勾選所有的選項(xiàng),并單擊“Next”按鈕,如圖 3 所示。
4、選項(xiàng)“Documentation”表示安裝 Python 的幫助文檔;選項(xiàng)“pip”表示安裝 Python 的第三方包管理工具;選項(xiàng)“tcl/tk and IDLE”表示安裝 Python 的集成開發(fā)環(huán)境;選項(xiàng)“Python test suite”表示安裝 Python 的標(biāo)準(zhǔn)測(cè)試套件,后兩個(gè)選項(xiàng)則表示允許版本更新。
保持默認(rèn)勾選狀態(tài),單擊“Browse”按鈕,選擇安裝路徑,如圖 4 所示。
5、單擊“Install”按鈕,直至完成安裝。
安裝好后,調(diào)出命令提示符,輸入“python”,檢查是否安裝成功。如果 Python 安裝成功,將出現(xiàn)如圖 5 所示的界面,即輸入“python”后,會(huì)看到“>>>”符號(hào)。
安裝好 Python3.6 環(huán)境后,還需要配置一個(gè)程序員專屬工具,即 PyCharm,它是一個(gè)適合用于開發(fā)的多功能 IDE(集成開發(fā)環(huán)境),下載社區(qū)版(免費(fèi)版),下載地址為http://www.jetbrains.com/pycharm/download/#section=windows(參見圖 6):
PyCharm 非常好用,通過(guò) PyCharm 可以下載、安裝和管理庫(kù)。
Anaconda 是一個(gè)專門用于統(tǒng)計(jì)和機(jī)器學(xué)習(xí)的 IDE,它集成了 Python 和許多基礎(chǔ)的庫(kù),如果業(yè)務(wù)場(chǎng)景是統(tǒng)計(jì)和機(jī)器學(xué)習(xí),那么只要安裝一個(gè) Anaconda 就可以了,這樣省去許多復(fù)雜的配置過(guò)程。
Anaconda 的官方下載地址為:https://www.anaconda.com/download/,參見圖 7:
這里默認(rèn)下載的是 64 位的版本,如果需要 32 位的版本,那么可以單擊“Download”按鈕下的文字鏈接。
使用 Anaconda 不需要提前安裝 Python,安裝后即可運(yùn)行:通過(guò)快捷鍵【W(wǎng)in+R】調(diào)用運(yùn)行窗口,輸入“ipython jupyter”,然后單擊“確定”按鈕(參見圖 8)。
編寫第一個(gè)Python代碼
運(yùn)行 PyCharm 后,需要先新建計(jì)劃,單擊“Create New Project”選項(xiàng)(參見圖 9):
設(shè)置 Location(路徑)和 Interpreter(翻譯器),這里選擇 Python 原版的翻譯器,然后單擊右下角的“Create”按鈕,如圖 10 所示:
新建 Project(計(jì)劃)后,在左側(cè)的項(xiàng)目窗口,右擊鼠標(biāo),在快捷菜單中選擇“New”?“Python File”命令,新建 Python 文件(參見圖 11)。
設(shè)置 Name(文件名),然后單擊右下角的“OK”按鈕(參見圖 12)。
新建文件后,右側(cè)的空白區(qū)域就是代碼編輯區(qū)(參見圖 13)。
從“Hello World(你好,世界)”開始吧!在編輯區(qū)中輸入 print(′Hello,World!′),print() 是一個(gè)打印函數(shù),表示將括號(hào)中的文本打印在即時(shí)窗口中。
然后將鼠標(biāo)光標(biāo)停留在括號(hào)右側(cè),右擊鼠標(biāo),在快捷菜單中選擇“Run ‘test’”命令,其中單引號(hào)中的 test 是當(dāng)前的文件名,一定要注意運(yùn)行的文件名和要運(yùn)行的文件名保持一致。運(yùn)行后可以觀察到即時(shí)窗口中打印出“Hello,World!”,如圖 14 所示。
Python注釋
注釋的目的是讓閱讀人員能夠輕松讀懂每一行代碼的意義,同時(shí)也為后期代碼維護(hù)提供便利。在 Python 中,單行注釋以 # 號(hào)開頭,如下所示:
#第一個(gè)注釋
print('Hello,World!')#第二個(gè)注釋
Python 的多行注釋用兩個(gè)三引號(hào)'''包含起來(lái),如下所示:
Python的行與縮進(jìn)
Python 最具特色的就是使用縮進(jìn)來(lái)表示代碼塊,不需要使用大括號(hào)。縮進(jìn)的空格數(shù)是可變的,但是同一個(gè)代碼塊的語(yǔ)句必須包含相同的縮進(jìn)空格數(shù),縮進(jìn)不一致會(huì)導(dǎo)致代碼運(yùn)行錯(cuò)誤。
正確縮進(jìn)的示例如下:
if True: print('True')else print('False')
錯(cuò)誤縮進(jìn)的示例如下:
if True:
print('True')
else:
print('False')
多行語(yǔ)句
Python 通常是一行寫完一條語(yǔ)句,但語(yǔ)句很長(zhǎng)的話,可以通過(guò)反斜杠(\)來(lái)實(shí)現(xiàn)多行語(yǔ)句。
weekdays ='Little Robert asked his mother for two cents.\
'What did you do with the money I gave you yesterday?''
print(weekdays)
這里的輸出結(jié)果為“Little Robert asked his mother for two cents.'What did you do with the money I gave you yesterday?'”。
等待用戶輸入
Python 中的 input() 函數(shù)是用來(lái)與用戶進(jìn)行交互的,如下所示:
此時(shí),運(yùn)行結(jié)果為“Who are you?”。
當(dāng)用戶輸入 Lingyi,然后按【Enter】鍵時(shí),程序會(huì)繼續(xù)運(yùn)行,其輸出結(jié)果如下:
Hello!
Lingyi
變量賦值
在編輯區(qū)輸入以下代碼:
a = 42
print(a)
注意:Python 的變量無(wú)須提前聲明,賦值的同時(shí)也就聲明了變量。
變量命名
Python 中具有自帶的關(guān)鍵字(保留字),任何變量名不能與之相同。在 Python 的標(biāo)準(zhǔn)庫(kù)中提供了一個(gè) keyword 模塊,可以查閱當(dāng)前版本的所有關(guān)鍵字,如下所示:
import keyword
keyword.kwlist
Python數(shù)據(jù)類型
Python 中擁有 6 大數(shù)據(jù)類型:number(數(shù)字)、string(字符串)、list(列表)、tuple(元組)、sets (集合)、dictionary(字典)。
數(shù)字
Python 3 支持 4 種類型的數(shù)字:int(整數(shù)類型)、float(浮點(diǎn)類型)、bool(布爾類型)、complex (復(fù)數(shù)類型)。
在 Python 3 中可以使用 type() 函數(shù)來(lái)查看數(shù)字類型,如下所示。
a=1 b=3.14 c=True
print(type(a)) print(type(b)) print(type(c))
輸出結(jié)果<class'int'> 輸出結(jié)果<class'float'> 輸出結(jié)果 <class'bool'>
Python3 所支持的運(yùn)算類型包括加法、減法、除法、整除、取余、乘法和乘方:
print((3+1)) #加法運(yùn)算,輸出結(jié)果是 4print((8.4-3)) #減法運(yùn)算,輸出結(jié)果是5.4print(15/4) #除法運(yùn)算,輸出結(jié)果是 3.75print(15//4) #整除運(yùn)算,輸出結(jié)果是 3print(15%4) #取余運(yùn)算,輸出結(jié)果是 3print(2*3) #乘法運(yùn)算,輸出結(jié)果是 6print(2**3) #乘方運(yùn)算,輸出結(jié)果是 8
字符串
字符串就是在單引號(hào)、雙引號(hào)和三引號(hào)之間的文字。單引號(hào)示例:print('welcome to hangzhou'),其中所有的空格和制表符都照原樣保留。單引號(hào)與雙引號(hào)的作用其實(shí)是一樣的,但是當(dāng)引號(hào)里包含單引號(hào)時(shí),則該引號(hào)需使用雙引號(hào),例如:print("what’s your name?")。三引號(hào)可以指示一個(gè)多行的字符串,也可以在三引號(hào)中自由使用單引號(hào)和雙引號(hào),如下所示:
print('''Mike:Hi,How are you?
LiMing:Fine,Thank you!and you?
Mike:I'm fine,too!''')
如果要在單引號(hào)字符串中使用單引號(hào)本身,在雙引號(hào)字符串中使用雙引號(hào)本身,則需要借助于轉(zhuǎn)義符(\),如下所示:
print('whar\'s your name?')
#輸出結(jié)果如下:whar's your name?
注意:在一個(gè)字符串中,行末單獨(dú)的斜杠號(hào)表示下一行繼續(xù),而不是開始寫新的一行,另外可以使用雙反斜杠(\\)來(lái)表示反斜杠本身,而 \n 表示換行符。
如果想要指示某些不需要使用轉(zhuǎn)義符進(jìn)行特別處理的字符串,那么需要指定一個(gè)原始字符串。原始字符串通過(guò)給字符串加上前綴 r 或 R 的方式指定,比如需要原樣輸出 \n 而不是令其換行,則代碼如下:
print(r'Newlines are indicated by \n')
#輸出結(jié)果是Newlines are indicated by \n
字符串的截取格式如下所示:
字符串常量[start_index:end_index+1]
此處解釋下為什么加 1:字符串的截取從 start_index 開始,到 end_index 結(jié)束,也就是大家常理解的左閉右開,如下所示:
嘗試下面的代碼:
num = 1string = '1'print(num+string)
此時(shí),運(yùn)行程序會(huì)報(bào)錯(cuò),錯(cuò)誤提示如下所示,為什么呢?
TypeError: unsupported operand type(s) for +: 'int' and 'str'
字符串(string)只是 Python 中的一種數(shù)據(jù)類型,下面的語(yǔ)句在賦值的時(shí)候右側(cè)用了單引號(hào),數(shù)據(jù)類型是字符串(string)。
string = '1'
下面語(yǔ)句的數(shù)據(jù)類型為整型(integer)。
num = 1
不同的數(shù)據(jù)類型之間是不能進(jìn)行運(yùn)算的,但是,不同數(shù)據(jù)類型可以相互轉(zhuǎn)換,以上代碼通過(guò)修改后就可以正常運(yùn)行,修改后的代碼如下:
注意,“+”號(hào)用在字符串中間是連接符,用在數(shù)值中間是運(yùn)算符:int() 是將括號(hào)中的數(shù)值或者文本轉(zhuǎn)換成整型數(shù)據(jù)類型。
運(yùn)行后,即時(shí)窗口中打印的結(jié)果是 2,如圖 15 所示。
四則基礎(chǔ)運(yùn)算如下:
a = 1b = 2c = a+bprint(c)
因?yàn)橄嗉拥碾p方是數(shù)值型,此時(shí)“+”號(hào)是運(yùn)算符,運(yùn)行結(jié)果如下:
3
相加的雙方是字符型數(shù)據(jù),此時(shí)“+”號(hào)是連接符:
運(yùn)行結(jié)果如下:
ab
列表
Python 列表是任意對(duì)象的有序集合,列表寫在中括號(hào) [] 里,元素之間用逗號(hào)隔開。這里的任意對(duì)象,既可以是列表嵌套列表,也可以是字符串,如下所示:
list = ['Python',12,[1,2,3],3.14,True]
print(list)#運(yùn)行結(jié)果為['Python', 12, [1, 2, 3], 3.14, True]
每個(gè) list(list 是筆者自定義的變量)中的元素從 0 開始計(jì)數(shù),如下代碼可以選取 list 中的第一個(gè)元素:
list = [1,2,3,4]print(list[0])#運(yùn)行結(jié)果為1
列表刪除操作可以使用 remove 方法,只需要在變量名字后面加個(gè)句號(hào)就可以輕松調(diào)用,PyCharm 有自動(dòng)聯(lián)想功能,選中目標(biāo)方法或者函數(shù),按【Tab】鍵即可快速鍵入,如圖 16 所示:
以下代碼用于刪除第 3 個(gè)元素,并用 print 將結(jié)果打印出來(lái)。其中 remove 方法用于刪除列表的元素:
list.remove(3)
print(list)#運(yùn)行結(jié)果是[1, 2, 4]
元組
元組(tuple)與列表類似,不同之處在于元組的元素不能修改。元組寫在小括號(hào)()里,元素之間則用逗號(hào)隔開,如下所示:
集合
集合(set)是一個(gè)無(wú)序不重復(fù)元素的序列,可以使用大括號(hào) {} 或者 set() 函數(shù)創(chuàng)建集合。需要注意的是,一個(gè)空集必須使用 set() 函數(shù)創(chuàng)建而不能使用大括號(hào) {},因?yàn)榇罄ㄌ?hào) {} 是用來(lái)創(chuàng)建空字典的,如下所示:
age = {18,19,18,20,21,20}print(age)#運(yùn)行結(jié)果是{18, 19, 20, 21}
字典
字典是一種可變?nèi)萜髂P停铱纱鎯?chǔ)任意類型對(duì)象,用 {} 標(biāo)識(shí)。字典是一個(gè)無(wú)序的鍵(key)值(value)對(duì)的集合,格式如下所示:
dic = {key1 : value1, key2:value2}
接下來(lái)建立一個(gè)字典,代碼如下:
其中 name 是一個(gè) key(鍵),liming 是一個(gè) value(值)。
字典增加數(shù)據(jù)時(shí),可以使用下面的方法:
information['sex'] = 'boy'print(information)#運(yùn)行結(jié)果是{'name': 'liming', 'age': '24', 'sex': 'boy'}
字典刪除數(shù)據(jù)時(shí),可以使用 del 函數(shù),代碼如下:
條件語(yǔ)句
接下來(lái)進(jìn)行登錄驗(yàn)證操作,首先給變量 password 賦值,然后判斷 password(密碼)是否正確,正確就打印“l(fā)ogin success!”(登錄成功!),錯(cuò)誤就打印“wrong password”(密碼錯(cuò)誤):
password = '12345'if password == '12345': print('login sucess!')else print('wrong password')
在 Python 中判斷是否相等可以使用“==”兩個(gè)等號(hào)(單個(gè)等號(hào)是賦值)。
條件語(yǔ)句的語(yǔ)法如下:
if 判斷條件:
執(zhí)行語(yǔ)句...
else:
執(zhí)行語(yǔ)句...
循環(huán)語(yǔ)句
在 Python 中要注意縮進(jìn),條件語(yǔ)句根據(jù)縮進(jìn)來(lái)判斷執(zhí)行語(yǔ)句的歸屬。
下面用 for 語(yǔ)句實(shí)現(xiàn) 1 至 9 的累加:
其中 range 表示范圍,i 從 1(第 1 個(gè)參數(shù))開始迭代,每次加 1(第 3 個(gè)參數(shù)),直到 i 變成了 10(第 2 個(gè)參數(shù))結(jié)束,因此當(dāng) i=10 時(shí)不執(zhí)行語(yǔ)句,for 循環(huán)是 9 次迭代。# 號(hào)代表注釋,# 號(hào)后面的文本將不會(huì)執(zhí)行。在 PyCharm 中,如果要注釋代碼,則可以選中代碼后按組合鍵【Ctrl+/】。
for 的語(yǔ)法如下:
for 迭代變量 in 迭代次數(shù):
執(zhí)行語(yǔ)句...
如果是列表或者字典,就不用 range() 函數(shù),直接用列表或者字典,此時(shí) i 表示列表或者字典中的元素,代碼如下:
list = {1,2,3,4}for i in list: print(i)
運(yùn)行結(jié)果如下:
1
2
3
4
函數(shù)
在剛剛接觸的函數(shù)中,print() 是將結(jié)果打印出來(lái)的函數(shù),int() 是將字符串類型轉(zhuǎn)換成數(shù)據(jù)類型的函數(shù)。類似這種函數(shù),統(tǒng)稱為內(nèi)建函數(shù),內(nèi)建函數(shù)可以直接調(diào)用。
有內(nèi)就有外,外建函數(shù)其實(shí)就是通常所講的自定義函數(shù)。
自定義函數(shù)的語(yǔ)法如下:
def f(x):
定義過(guò)程
return f(x)
def(define 即定義)是創(chuàng)建函數(shù)的方法,下面用 def 創(chuàng)建方程:y=5x+2:
這篇 Python 基礎(chǔ)教程只是讓從沒有接觸過(guò) Python 的讀者對(duì) Python 有個(gè)初步的印象,所以很多知識(shí)點(diǎn)都沒有談到;例如,本教程沒有提到切片、模塊、類和對(duì)象、文件操作、進(jìn)程線程、圖形界面、網(wǎng)絡(luò)編程等。
不過(guò),這些知識(shí)點(diǎn)也不太可能在 30 分鐘內(nèi)學(xué)會(huì),好在只要入門了,有了基礎(chǔ),就能利用網(wǎng)上很多資源繼續(xù)學(xué)習(xí)。
聯(lián)系客服