來自 維基百科
Python是一種廣泛使用的高級編程語言廊勃,屬于通用型編程語言额获,由吉多·范羅蘇姆 創(chuàng)造,第一版發(fā)布于 1991 年获雕∥可以視之為一種改良 (加入一些其他編程語言的優(yōu)點焕襟,如面向對象) 的 LISP。作為一種解釋型語言肛搬,Python 的設計哲學強調代碼的可讀性和簡潔的語法(尤其是使用空格縮進劃分代碼塊没佑,而非使用大括號或者關鍵詞)。相比于 C++ 或 Java温赔,Python 讓開發(fā)者能夠用更少的代碼表達想法蛤奢。不管是小型還是大型程序,該語言都試圖讓程序的結構清晰明了陶贼。
吉多·范羅蘇姆(荷蘭語:Guido van Rossum啤贩,1956年1月31日-),生于荷蘭哈勒姆拜秧,計算機程序員痹屹,為Python程序設計語言的最初設計者及主要架構師。在Python社區(qū)枉氮,吉多·范羅蘇姆被人們認為是“仁慈的獨裁者”(BDFL)志衍,意思是他仍然關注Python的開發(fā)進程暖庄,并在必要的時刻做出決定。
安裝
- 從官網獲取適合你系統(tǒng)的Python - https://www.python.org/
- 大多數linux發(fā)行版默認安裝了Python
- 另見這個指南獲取更多細節(jié)和如何設置虛擬環(huán)境楼肪,如何使用pip(絕不要使用sudo pip除非你自己知道自己在做什么)培廓。
- 這里示例使用類Unix系統(tǒng),Python版本3并且使用bash shell
- 你也可以線上運行Python代碼
- pythontutor - python 2和python 3版本代碼執(zhí)行器春叫,可視化代碼流肩钠,有樣例程序
- jupyter - 一款web應用:允許你創(chuàng)建和分享包含代碼、公式象缀、可視化以及解釋的動態(tài)文檔
- ideone - 在線編譯和調試工具蔬将,允許你在線上執(zhí)行和編譯超過60種編程語言
- Python Interpreter shell
- 假設你熟悉命令行。如果沒有央星,查閱ryanstutorials上的基本教程和Linux整合資源列表
Hello World 示例
讓我們從一個簡單的程序開始學習使用Python:
#!/usr/bin/python3
print("Hello World")
第一行有兩部分
-
/usr/bin/python3
是Python解釋器的路徑 -
#!
稱為 shebang霞怀,它指明了執(zhí)行這個腳本文件的解釋程序。
第三行輸出Hello World
信息莉给,print
函數默認會在后面添加換行符毙石。
運行Python程序
你可以用像gedit、vim 或其他編輯器這樣一些文本編輯器書寫腳本程序颓遏。保存文件后徐矩,添加執(zhí)行權限并從終端運行程序。
$ chmod +x hello_world.py
$ ./hello_world.py
Hello World
下面是尋找Python路徑及其版本的方式:
$ type python3
python3 is /usr/bin/python3
$ python3 --version
Python 3.4.3
如果你學習過Python 2教程或者有過Perl語言使用經歷叁幢,很容易忘記給print
函數添加括號滤灯,這是一個常見錯誤。
#!/usr/bin/python3
print "Have a nice day"
- 取決于錯誤類型曼玩,根據執(zhí)行程序輸出的信息定位錯誤的位置有可能非常容易
- 這個例子中鳞骤,我們就得到合適的“缺失括號”信息
$ ./syntax_error.py
File "./syntax_error.py", line 3
print "Have a nice day"
^
SyntaxError: Missing parentheses in call to 'print'
- 單行注釋起始于
#
-
#!
僅在程序的第一行有特殊的含義
-
- 在后面章節(jié)我們會看到多行注釋
#!/usr/bin/python3
# 問候信息
print("Hello World")
進一步閱讀
Python解釋器
- 通常用于執(zhí)行一小段的Python語句黍判,目的是學習和調試
- 提示符為
>>>
- 接下來章節(jié)的一些主題會使用Python解釋器進行示例
- 特殊變量
_
保存上一次輸出表達式的結果 - 我們可以只鍵入部分命令和重復按
Up
鍵位去匹配歷史命令 -
Ctrl+l
組合鍵用來清屏豫尽,會保存任何已鍵入的命令完整 -
exit()
退出
$ python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hi")
hi
>>> abc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'abc' is not defined
>>> num = 5
>>> num
5
>>> 3 + 4
7
>>> 12 + _
19
>>> exit()
進一步閱讀
Python標準庫
該庫包含內置模塊(用C編寫)——提供系統(tǒng)功能特性接口比如文件I/O和Python編寫的模塊——提供許多日程編程問題的標準方案。
其中的一些模塊通過把平臺特異的功能抽象為平臺兼容的APIs顷帖,鼓勵和增強Python程序的兼容特性美旧。