Python學習手冊之Python介紹、基本語法(一)


一、什么是python?

python是一種高級的編程語言。它適合編寫一些應用程序,比如:網站編程,腳本編程,科學計算和最近非常熱門的AI(人工智能)。目前,Google,騰訊,百度,阿里巴巴,豆瓣都在使用它做為編程語言。

python是解析型語言。程序不需要編譯,程序在運行時才翻譯成機器語言並執行。

為什么選用Python?Python是一種極少數能兼具簡單功能強大的編程語言。完成同一個任務,C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。

到現在為止Python有三個不同的大版本,1.x,2.x和3.x。大版本主要是功能模塊有大的變動,比如增加多個模塊或者整體架構發生變化。在每個大版本的下面有一些小版本的變動,小版本的更新是為了增強性能,特性和修復Bug,比如從3.5升級到3.6。

目前使用的基本是2.x和3.x版本,目前官方確認Python2.x版本將在2020年1月1日終止支持。要確認自己電腦當前環境下的Python版本,可在命令行方式下輸入:Python -V

解析器是一種電腦程序,能夠把高級編程語言,像Python,一行一行直接轉譯成機器語言並運行。

在編程語言的世界里,每一語言都有其編程規范,而所有的語言的語法都是采用英語做為關鍵字。這就意味着我們在寫代碼時,輸入法需要調整為英語鍵盤,如果實在不行,請換一種輸入法。Python有它的編程規范,在下篇文章我們會學到它的編程規范。

在編程的時候,編程語法不能使用中文全角字符。比如:引號,逗號。

“ ,

上面兩個字符都是全角字符,逗號本身占據一個很寬的空間,它和引號之間也沒空格。

,”

上面的例子里兩個字符都是半角字符。

編程規范是大家都需要遵守的一種約束性協議,同時Python解析器也將編程規范來解析代碼。

二、基本語法

第一個 Python 程序
程序員世界里最著名的程序是什么?當然是“Hello World”。這是個比較悠久的傳統,從1972年開始被無數人當做來到編程語言世界的第一個程序。

Python 使用print命令來輸出文字。
>>> print('Hello world!')
Hello world!
當你運行這段代碼時,終端將輸出”Hello world!"。恭喜你來到精彩的Python編程世界!
文本輸出
語句print語句也可用於輸出多行文本。
>>> print('Hello world!')
Hello world!
>>> print('Hello world!')
Hello world!
>>> print('Spam and eggs…')
Spam and eggs…

Python 代碼里包括對 Monty Python's Flying Circus(BBC 出品從1969年一直播放到1974年的英國電視喜劇)的引用,Python的作者Guido van Rossum是它的粉絲。這就是為什么Spam 和 eggs 這兩個詞經常用作 Python 中占位符的原因,而 foo 和 bar 則經常用於其他編程語言。

語句 print 也可以跟上多個字符串,用逗號","隔開,就可以連成一串輸出:
>>> print('The quick brown fox','jumps over','the lazy dog')
The quick brown fox jumps over the lazy dog

簡單運算符
Python 有加減運算符 + 和 -。 在Python的控制台下輸入加減法運算,按回車后輸出運算結果。

>>> 2 + 2
4
>>> 5 + 4 - 3
6
運算符兩邊的空格是為了閱讀更方便,無空格不影響程序的運行結果。

Python 也有乘法和除法運算符,* 表示乘法,/ 表示除法。和數學里的優先級一樣,使用圓括號表示優先運算。

>>> 2 * (3 + 4) 14
>>> 8 / 2
4.0
使用除法在 Python 里會產生一個十進制浮點數。

Python 同樣可以進行負數的運算,如同我們在數學里一樣用減號 - 符號表示負數。

>>> -6
-6
>>> (-5 + 2) * (-4) 12
加號同樣可以放在數學的左邊表示這個數字是正數,但是習慣上不需要在數字前面放置加號來表示正數。

在除法中被除數為 0 將是Python 產生一個錯誤,計算將不產生結果。

>>> (17 + 13) / (-4 + 4) Traceback (most recent call last): File "<stdin>", line 1, in <module> ZeroDivisionError: division by zero
如上所示,錯誤有出錯行數,最后一行消息也指出產生錯誤的錯誤類型。
請仔細閱讀錯誤消息,它告訴你程序在哪兒出錯了,我們可以快速找到錯誤原因並修復它。

浮點
在 Python 里浮點用來表示非整數。我們用3.14 和 -1.1547 來表示浮點數。浮點數可以用小數或用除法來創建。小數點后第二位開始的最右邊 0 將被忽略, 0.1400000 會顯示0.14, 但17.0還是會顯示為17.0.

>>> 4 / 5
0.8
>>> 3.14000000
3.14
計算機有時候不能正確地存儲浮點數。Python提供 17 為小數精度的浮點。
>>> 4 / 2
2.0
>>> 6 * 8.0
48.0
>>> 1 + 3.125
4.125

在上一例子,兩個整數相除處理成浮點。兩個浮點的運算或整數和浮點的運算都被處理成浮點。

浮點數和整數運算中,Python 在運算時自動把整數轉換為浮點,這種隱式轉換操作是 Python 規則的一部分。在其它情況下如果要對其進行操作,通常必須手動轉換值。

 算術運算符

冪乘
除了加法、減法、乘法和除法Python也支持其它的運算,比如冪乘。冪乘也叫乘方,即求n個相同乘數的乘積運算。
比如3 ** 2,乘數是3, n為 2, 計算方式為 3 * 3,冪乘結果為9.冪乘運算符用兩個星號 ** 來表示。

>>> 2 ** 4
16
>>> 9 ** (1/2) 3.0

商和余數
在 Python 里我們使用除后取整運算符和取余運算符來做商和余數的運算。除后取整運算符用//來表示是商運算。取余運算符用 % 來表示取余運算。整數和浮點數都可以用來做除后取整和取余運算。

下面代碼表示 12 除於 5 商是 2,1.25除於 0.5 余數是0.25。 

>>> 12 / 5
2
>>> 1.25 / 0.5
0.25

字符串

一串字符串(String)是字符(Characters)的序列(Sequence)。基本上,字符串就是一串字符。

字符串是以單引號‘’或雙引號“”括起來的任意文本,所有引號內的空間,諸如空格和制表符,都將按照原樣保留。比如‘abc’,“x y z”等等。請注意‘’或“”本身只是一種表示方式,不是字符串的一部分。

>>> "Python is fun!" Python is fun! >>> 'I like Python' I like Python
你將會在幾乎所有你編寫的 Python 程序中使用字符串,同時注意,字符串是不可變的。

轉義字符

有些字符不能直接包含在字符串,比如單引號不能直接放置在用單引號表示的 String 對象里。這會使 Python 無法識別哪兒是字符串的開始、哪兒是結束。

你必須指定這個單引號的 String 對象里需要對單引號進行轉義。

>>> 'I\'m a boy!' I'm a boy!

在上面的例子中我們對單引號進行了轉義,添加了轉義字符\。

同樣如果在雙引號申明的 String 對象里有雙引號需要對雙引號進行轉義。

>>> "She say:\"I'm a girl!\"" She say:"I'm a girl"

在上面的例子中我們把對話里的雙引號進行了轉義,添加了轉義字符\。

反斜桿也可用於轉義制表符、任意 Unicode 字符以及其他無法可靠打印的內容,這些字符稱為轉義字符。

換行

 Python 提供一種簡單的方法在字符串里創建換行符 \n。使用三個雙引號或單引號創建的字符串保留原始的輸入狀態,在其里面的回車被自動轉義成 \n 。如下例:

>>> """Mother:Good morning. Son:Good morning, mom!"""

'Mother:Good morning. \nSon:Good morning, mom!'
在三個引號表示的字符串里你不需要轉義字符,你可以在字符串里自由地使用單引號與雙引號,就像你正常的輸入一樣。回車鍵在輸出里也被\n 轉義符自動轉義。

 輸入和輸出

 通常程序接受輸入並在處理后產生輸出。

你可以使用 print 函數來生成輸出,這將在屏幕上顯示其文本表現形式。

>>> print(1 + 2) 3
>>> print("Hello \n World!") Hello World!
當輸出字符串對象時,生成字符串對象的引號不會被顯示。

輸入

 要從 Python 用戶獲得輸入,可以使用 input 輸入函數

 下面 input 函數提示用戶輸入,並以字符串的形式返回輸入的內容(內容被自動轉義)。

>>> input("Enter something please: ") Enter something please: I am a boy who\nlike girl! 'I am a boy who\\nlike girl!'

 

 


“改變自己的世界,從一步一步做起”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM