在昨天夜黑風高的晚上,我偷了隔壁老王的Python入門課件,由淺入深堪稱完美!

永不停歇yun 發表於 2021-10-10
Python


隔壁老王是一個資深碼農,就業教育事業的禿頂之才
昨天我下樓打醬油,看他迎面走來,滿目春光
我好奇的問道:老王,有什麼好事,隔壁小花叫你上門了嗎?
老王:祕密!!
我心想:哎呦~不錯啊
半晚之時,連貓狗都睡著了,我爬了隔壁老王的陽臺,準備伺機而動…

目錄

  • 一、Python 基礎教程
    • 1.誰適合閱讀本教程?
    • 2.學習本教程前你需要了解
    • 3.執行Python程式
  • 二、Python 簡介
    • 1.Python 發展歷史
    • 2.Python 特點
  • 三、Python 環境搭建
    • 1.Python下載
    • 2.Python安裝
    • 3.Unix & Linux 平臺安裝 Python:
    • 4.Window 平臺安裝 Python:
    • 5.Python 環境變數
    • 6.執行Python
  • 四、Python 中文編碼
    • 1.Pycharm 設定步驟:
  • 五、Python 基礎語法
    • 1.第一個 Python 程式
    • 2.Python 識別符號
    • 3.Python 保留字元
    • 4.行和縮排
    • 5.多行語句
    • 6.Python 引號
    • 7.Python註釋
    • 8.Python空行
    • 9.等待使用者輸入
    • 10.同一行顯示多條語句
    • 11.print 輸出
    • 12.多個語句構成程式碼組
    • 13.命令列引數

一、Python 基礎教程

Python 是一種解釋型、物件導向、動態資料型別的高階程式設計語言。

Python 由 Guido van Rossum 於 1989 年底發明,第一個公開發行版發行於 1991 年。

像 Perl 語言一樣, Python 原始碼同樣遵循 GPL(GNU General Public License) 協議。

官方宣佈,2020 年 1 月 1 日, 停止 Python 2 的更新。

Python 2.7 被確定為最後一個 Python 2.x 版本。

1.誰適合閱讀本教程?

本教程適合想從零開始學習 Python 程式語言的開發人員。當然本教程也會對一些模組進行深入,讓你更好的瞭解 Python 的應用。

本教程主要針對 Python 2.x 版本的學習,如果你使用的是 Python 3.x 版本請移步至Python 3.X 版本的教程。

本教程所有例項基於 Python2.7。

2.學習本教程前你需要了解

在繼續本教程之前,你應該瞭解一些基本的計算機程式設計術語。如果你學習過 PHP,ASP 等程式語言,將有助於你更快的瞭解 Python 程式設計。

3.執行Python程式

對於大多數程式語言,第一個入門程式設計程式碼便是 “Hello World!”,以下程式碼為使用 Python 輸出 “Hello World!”:

例項

#!/usr/bin/python
 
print("Hello, World!")

 

執行結果:

Hello, World!

Python 3.0+ 版本已經把 print 作為一個內建函式,輸出 “Hello World!” 程式碼如下:

#!/usr/bin/python3
 
print("Hello, World!")

 

執行結果:

Hello, World!

二、Python 簡介

  1. Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向物件的指令碼語言。
  2. Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
  3. Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
  4. Python 是互動式語言: 這意味著,您可以在一個 Python 提示符 >>> 後直接執行程式碼。
  5. Python 是面嚮物件語言: 這意味著Python支援物件導向的風格或程式碼封裝在物件的程式設計技術。
  6. Python 是初學者的語言:Python 對初級程式設計師而言,是一種偉大的語言,它支援廣泛的應用程式開發,從簡單的文書處理到 WWW
    瀏覽器再到遊戲。

1.Python 發展歷史

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國家數學和電腦科學研究所設計出來的。

Python 本身也是由諸多其他語言發展而來的,這包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的指令碼語言等等。

像 Perl 語言一樣,Python 原始碼同樣遵循 GPL(GNU General Public License)協議。

現在 Python 是由一個核心開發團隊在維護,Guido van Rossum 仍然佔據著至關重要的作用,指導其進展。

Python 2.7 被確定為最後一個 Python 2.x 版本,它除了支援 Python 2.x 語法外,還支援部分 Python 3.1 語法。

2.Python 特點

  1. 易於學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。
  2. 易於閱讀:Python程式碼定義的更清晰。
  3. 易於維護:Python的成功在於它的原始碼是相當容易維護的。
  4. 一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh相容很好。
  5. 互動模式:互動模式的支援,您可以從終端輸入執行程式碼並獲得結果的語言,互動的測試和除錯程式碼片斷。
  6. 可移植:基於其開放原始碼的特性,Python已經被移植(也就是使其工作)到許多平臺。這些平臺包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE 甚至還有 PocketPC、Symbian 以及 Google 基於 Linux 開發的 Android 平臺!
  7. 可擴充套件:如果你需要一段執行很快的關鍵程式碼,或者是想要編寫一些不願開放的演算法,你可以使用C或C++完成那部分程式,然後從你的Python程式中呼叫。
  8. 資料庫:Python提供所有主要的商業資料庫的介面。
  9. GUI程式設計:Python支援GUI可以建立和移植到許多系統呼叫。
  10. 可嵌入: 你可以將Python嵌入到C/C++程式,讓你的程式的使用者獲得"指令碼化"的能力。

三、Python 環境搭建

Python可應用於多平臺包括 Linux 和 Mac OS X。

你可以通過終端視窗輸入 “python” 命令來檢視本地是否已經安裝Python以及Python的安裝版本。

  1. Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。)
  2. Win 9x/NT/2000
  3. Macintosh (Intel, PPC, 68K)
  4. OS/2
  5. DOS (多個DOS版本)
  6. PalmOS
  7. Nokia 移動手機
  8. Windows CE
  9. Acorn/RISC OS
  10. BeOS
  11. Amiga
  12. VMS/OpenVMS
  13. QNX
  14. VxWorks
  15. Psion
  16. Python 同樣可以移植到 Java 和 .NET 虛擬機器上。

1.Python下載

Python最新原始碼,二進位制文件,新聞資訊等可以在Python的官網檢視到:

Python官網:https://www.python.org/

你可以在以下連結中下載 Python 的文件,你可以下載 HTML、PDF 和 PostScript 等格式的文件。

Python文件下載地址:https://www.python.org/doc/

2.Python安裝

Python已經被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。

您需要下載適用於您使用平臺的二進位制程式碼,然後安裝Python。

如果您平臺的二進位制程式碼是不可用的,你需要使用C編譯器手動編譯原始碼。

編譯的原始碼,功能上有更多的選擇性, 為python安裝提供了更多的靈活性。

以下是各個平臺安裝包的下載地址:

在昨天夜黑風高的晚上,我偷了隔壁老王的Python入門課件,由淺入深堪稱完美!

以下為不同平臺上安裝 Python 的方法:

3.Unix & Linux 平臺安裝 Python:

以下為在 Unix & Linux 平臺上安裝 Python 的簡單步驟:

  • 開啟 WEB 瀏覽器訪問https://www.python.org/downloads/source/
  • 選擇適用 於Unix/Linux 的原始碼壓縮包。
  • 下載及解壓壓縮包。
  • 如果你需要自定義一些選項修改Modules/Setup
  • 執行 ./configure 指令碼
  • make
  • make install

執行以上操作後,Python 會安裝在 /usr/local/bin 目錄中,Python 庫安裝在 /usr/local/lib/pythonXX,XX 為你使用的 Python 的版本號。

4.Window 平臺安裝 Python:

以下為在 Window 平臺上安裝 Python 的簡單步驟:

  • 開啟 WEB 瀏覽器訪問https://www.python.org/downloads/windows/
在昨天夜黑風高的晚上,我偷了隔壁老王的Python入門課件,由淺入深堪稱完美!
  • 在下載列表中選擇Window平臺安裝包,包格式為:python-XYZ.msi 檔案 , XYZ 為你要安裝的版本號。
  • 要使用安裝程式 python-XYZ.msi, Windows 系統必須支援 Microsoft Installer 2.0 搭配使用。只要儲存安裝檔案到本地計算機,然後執行它,看看你的機器支援 MSI。Windows XP 和更高版本已經有 MSI,很多老機器也可以安裝 MSI。
  • 下載後,雙擊下載包,進入 Python 安裝嚮導,安裝非常簡單,你只需要使用預設的設定一直點選"下一步"直到安裝完成即可。

5.Python 環境變數

下面幾個重要的環境變數,它應用於Python:

變數名

描述

PYTHONPATH

PYTHONPATH是Python搜尋路徑,預設我們import的模組都會從PYTHONPATH裡面尋找

PYTHONSTARTUP

Python啟動後,先尋找PYTHONSTARTUP環境變數,然後執行此變數指定的檔案中的程式碼

PYTHONCASEOK

加入PYTHONCASEOK的環境變數, 就會使python匯入模組的時候不區分大小寫

PYTHONHOME

另一種模組搜尋路徑。它通常內嵌於的PYTHONSTARTUP或PYTHONPATH目錄中,使得兩個模組庫更容易切換

6.執行Python

有三種方式可以執行Python:

1、互動式直譯器:
你可以通過命令列視窗進入 Python,並在互動式直譯器中開始編寫 Python 程式碼。

你可以在 Unix、DOS 或任何其他提供了命令列或者 shell 的系統進行 Python 編碼工作。

$ python # Unix/Linux

或者

C:>python # Windows/DOS

以下為Python命令列引數:

選項

描述

-d

在解析時顯示除錯資訊

-O

生成優化程式碼 ( .pyo 檔案 )

-S

啟動時不引入查詢Python路徑的位置

-V

輸出Python版本號

-X

從 1.6版本之後基於內建的異常(僅僅用於字串)已過時

-c

cmd 執行 Python 指令碼,並將執行結果作為 cmd 字串

file

在給定的python檔案執行python指令碼

2、命令列指令碼
在你的應用程式中通過引入直譯器可以在命令列中執行Python指令碼,如下所示:

$ python script.py # Unix/Linux

或者

C:>python script.py # Windows/DOS

注意:在執行指令碼時,請檢查指令碼是否有可執行許可權。

3、整合開發環境(IDE:Integrated Development Environment): PyCharm
PyCharm 是由 JetBrains 打造的一款 Python IDE,支援 macOS、 Windows、 Linux 系統。

PyCharm 功能 : 除錯、語法高亮、Project管理、程式碼跳轉、智慧提示、自動完成、單元測試、版本控制……

PyCharm 下載地址 : https://www.jetbrains.com/pycharm/download/

PyCharm 安裝地址:http://www.runoob.com/w3cnote/pycharm-windows-install.html

在昨天夜黑風高的晚上,我偷了隔壁老王的Python入門課件,由淺入深堪稱完美!

安裝 PyCharm 中文外掛,開啟選單欄 File,選擇 Settings,然後選 Plugins,點 Marketplace,搜尋 chinese,然後點選 install 安裝:

在昨天夜黑風高的晚上,我偷了隔壁老王的Python入門課件,由淺入深堪稱完美!

繼續下一章之前,請確保您的環境已搭建成功。如果你不能夠建立正確的環境,那麼你就可以從您的系統管理員的幫助。

四、Python 中文編碼

前面我們已經學會了如何用 Python 輸出 “Hello, World!”,英文沒有問題,但是如果你輸出中文字元 “你好,世界” 就有可能會碰到中文編碼問題。

Python 檔案中如果未指定編碼,在執行過程會出現報錯:

#!/usr/bin/python

print ("你好,世界")

 

以上程式執行輸出結果為:

 File "test.py", line 2
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

 

Python中預設的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確列印漢字,所以在讀取中文時會報錯。

解決方法為只要在檔案開頭加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了

注意:# coding=utf-8 的 = 號兩邊不要空格。

例項(Python 2.0+)

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
print( "你好,世界" )

 

輸出結果為:

你好,世界

所以如果大家在學習過程中,程式碼中包含中文,就需要在頭部指定編碼。

注意:Python3.X 原始碼檔案預設使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。

注意:如果你使用編輯器,同時需要設定 py 檔案儲存的格式為 UTF-8,否則會出現類似以下錯誤資訊:

SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0:
invalid continuation byte

 

1.Pycharm 設定步驟:

  • 進入 file > Settings,在輸入框搜尋 encoding。
  • 找到 Editor > File encodings,將 IDE Encoding 和 Project Encoding設定為utf-8。

五、Python 基礎語法

Python 語言與 Perl,C 和 Java 等語言有許多相似之處。但是,也存在一些差異。

我們將來學習 Python 的基礎語法,讓你快速學會 Python 程式設計。

1.第一個 Python 程式

互動式程式設計

互動式程式設計不需要建立指令碼檔案,是通過 Python 直譯器的互動模式進來編寫程式碼。

linux上你只需要在命令列中輸入 Python 命令即可啟動互動式程式設計,提示視窗如下:

$ python
Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Window 上在安裝 Python 時已經安裝了互動式程式設計客戶端,提示視窗如下:

在昨天夜黑風高的晚上,我偷了隔壁老王的Python入門課件,由淺入深堪稱完美!

在 python 提示符中輸入以下文字資訊,然後按 Enter 鍵檢視執行效果:

>>> print ("Hello, Python!")

在 Python 2.7.6 版本中,以上例項輸出結果如下:

Hello, Python!

指令碼式程式設計

通過指令碼引數呼叫直譯器開始執行指令碼,直到指令碼執行完畢。當指令碼執行完成後,直譯器不再有效。

讓我們寫一個簡單的 Python 指令碼程式。所有 Python 檔案將以 .py 為副檔名。將以下的原始碼拷貝至 test.py 檔案中。

print ("Hello, Python!")

這裡,假設你已經設定了 Python 直譯器 PATH 變數。使用以下命令執行程式:

$ python test.py

輸出結果:

Hello, Python!

讓我們嘗試另一種方式來執行 Python 指令碼。修改 test.py 檔案,如下所示:

例項

#!/usr/bin/python

print ("Hello, Python!")

 

這裡,假定您的Python直譯器在/usr/bin目錄中,使用以下命令執行指令碼:

$ chmod +x test.py     # 指令碼檔案新增可執行許可權
$ ./test.py

 

輸出結果:

Hello, Python!

Python2.x 中使用 Python3.x 的 print 函式

如果 Python2.x 版本想使用使用 Python3.x 的 print 函式,可以匯入 future 包,該包禁用 Python2.x 的 print 語句,採用 Python3.x 的 print 函式:

例項

>>> list =["a", "b", "c"]
>>> print list    # python2.x 的 print 語句
['a', 'b', 'c']
>>> from __future__ import print_function  # 匯入 __future__ 包
>>> print list     # Python2.x 的 print 語句被禁用,使用報錯
  File "<stdin>", line 1
    print list
             ^
SyntaxError: invalid syntax
>>> print (list)   # 使用 Python3.x 的 print 函式
['a', 'b', 'c']
>>> 

 

Python3.x 與 Python2.x 的許多相容性設計的功能可以通過 future 這個包來匯入。

2.Python 識別符號

在 Python 裡,識別符號由字母、數字、下劃線組成。

在 Python 中,所有識別符號可以包括英文、數字以及下劃線(_),但不能以數字開頭。

Python 中的識別符號是區分大小寫的。

以下劃線開頭的識別符號是有特殊意義的。以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from xxx import * 而匯入。

以雙下劃線開頭的 __foo 代表類的私有成員,以雙下劃線開頭和結尾的 __foo__ 代表 Python 裡特殊方法專用的標識,如 __init__() 代表類的建構函式。

Python 可以同一行顯示多條語句,方法是用分號 ; 分開,如:

>>> print ('hello');print ('runoob');
hello
runoob

 

3.Python 保留字元

下面的列表顯示了在Python中的保留字。這些保留字不能用作常數或變數,或任何其他識別符號名稱。

所有 Python 的關鍵字只包含小寫字母。

and

exec

not

assert

finally

or

break

for

pass

class

from

print

continue

global

raise

def

if

return

del

import

try

elif

in

while

except

lambda

4.行和縮排

學習 Python 與其他語言最大的區別就是,Python 的程式碼塊不使用大括號 {} 來控制類,函式以及其他邏輯判斷。python 最具特色的就是用縮排來寫模組。

縮排的空白數量是可變的,但是所有程式碼塊語句必須包含相同的縮排空白數量,這個必須嚴格執行。

以下例項縮排為四個空格:

例項

if True:
    print ("True")
else:
    print ("False")

 

以下程式碼將會執行錯誤:

例項

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 檔名:test.py

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
    # 沒有嚴格縮排,在執行時會報錯
  print ("False")

 

執行以上程式碼,會出現如下錯誤提醒:

 File "test.py", line 11
    print ("False")
                  ^
IndentationError: unindent does not match any outer indentation level

 

IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮排方式不一致,有的是 tab 鍵縮排,有的是空格縮排,改為一致即可。

如果是 IndentationError: unexpected indent 錯誤, 則 python 編譯器是在告訴你"Hi,老兄,你的檔案裡格式不對了,可能是tab和空格沒對齊的問題",所有 python 對格式要求非常嚴格。

因此,在 Python 的程式碼塊中必須使用相同數目的行首縮排空格數。

建議你在每個縮排層次使用 單個製表符兩個空格四個空格 , 切記不能混用

5.多行語句

Python語句中一般以新行作為語句的結束符。

但是我們可以使用斜槓( \)將一行的語句分為多行顯示,如下所示:

total = item_one + \
        item_two + \
        item_three

 

語句中包含 [], {} 或 () 括號就不需要使用多行連線符。如下例項:

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

 

6.Python 引號

Python 可以使用引號( ’ )、雙引號( " )、三引號( ‘’’ 或 “”" ) 來表示字串,引號的開始與結束必須是相同型別的。

其中三引號可以由多行組成,編寫多行文字的快捷語法,常用於文件字串,在檔案的特定地點,被當做註釋。

word = 'word'
sentence = "這是一個句子。"
paragraph = """這是一個段落。
包含了多個語句"""

7.Python註釋

python中單行註釋採用 # 開頭。

例項

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 檔名:test.py

# 第一個註釋
print ("Hello, Python!")  # 第二個註釋

 

輸出結果:

Hello, Python!

註釋可以在語句或表示式行末:

name = "Madisetti" # 這是一個註釋

python 中多行註釋使用三個單引號(’’’)或三個雙引號(""")。

例項

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 檔名:test.py


'''
這是多行註釋,使用單引號。
這是多行註釋,使用單引號。
這是多行註釋,使用單引號。
'''

"""
這是多行註釋,使用雙引號。
這是多行註釋,使用雙引號。
這是多行註釋,使用雙引號。
"""

 

8.Python空行

函式之間或類的方法之間用空行分隔,表示一段新的程式碼的開始。類和函式入口之間也用一行空行分隔,以突出函式入口的開始。

空行與程式碼縮排不同,空行並不是Python語法的一部分。書寫時不插入空行,Python直譯器執行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的程式碼,便於日後程式碼的維護或重構。

記住:空行也是程式程式碼的一部分。

9.等待使用者輸入

下面的程式執行後就會等待使用者輸入,按Enter鍵後就會退出:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

raw_input("按下 enter 鍵退出,其他任意鍵顯示...\n")

 

以上程式碼中 ,\n 實現換行。一旦使用者按下 enter(回車) 鍵退出,其它鍵顯示。

10.同一行顯示多條語句

Python可以在同一行中使用多條語句,語句之間使用分號(;)分割,以下是一個簡單的例項:

#!/usr/bin/python

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

 

執行以上程式碼,輸入結果為:

$ python test.py
runoob

 

11.print 輸出

print 預設輸出是換行的,如果要實現不換行需要在變數末尾加上逗號 ,。

例項

#!/usr/bin/python
# -*- coding: UTF-8 -*-

x="a"
y="b"
# 換行輸出
print x
print y

print '---------'
# 不換行輸出
print x,
print y,

# 不換行輸出
print x,y

 

以上例項執行結果為:

a
b
---------
a b a b

 

12.多個語句構成程式碼組

縮排相同的一組語句構成一個程式碼塊,我們稱之程式碼組。

像if、while、def和class這樣的複合語句,首行以關鍵字開始,以冒號( : )結束,該行之後的一行或多行程式碼構成程式碼組。

我們將首行及後面的程式碼組稱為一個子句(clause)。

如下例項:

if expression : 
   suite 
elif expression :  
   suite  
else :  
   suite 

 

13.命令列引數

很多程式可以執行一些操作來檢視一些基本資訊,Python 可以使用 -h 引數檢視各引數幫助資訊:

$ python -h 
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... 
Options and arguments (and corresponding environment variables): 
-c cmd : program passed in as string (terminates option list) 
-d     : debug output from parser (also PYTHONDEBUG=x) 
-E     : ignore environment variables (such as PYTHONPATH) 
-h     : print this help message and exit 
 
[ etc. ] 

 

我們在使用指令碼形式執行 Python 時,可以接收命令列輸入的引數,具體使用可以參照 Python 命令列引數。

 

在昨天夜黑風高的晚上,我偷了隔壁老王的Python入門課件,由淺入深堪稱完美!

感謝認真觀看我文章的你們,下面是純分享給你們,禮尚往來,更多Python精彩內容可以看小編主頁。

直接點選領取🎁🎁🎁🎁🎁

①兼職交流,行業諮詢、大佬線上專業解答
②Python開發環境安裝教程
③Python400集自學視訊
④軟體開發常用詞彙
⑤Python學習路線圖
⑥300多本Python電子書