上節課已經教大家安裝了Python的解釋器,那麼這節課我們就可以正式來寫代碼了
說明:在下面的代碼演示中,我將大部分使用python交互器演示代碼的輸入輸出,注意“>>>”後面代表的是輸入的代碼,沒有其他的標誌代表的是輸出
按照以往的慣例,首先我們還是寫一個Hello world 程序
# -*- coding :utf-8 -*-
#Author = susmote
print("hello world")
按照以上的程序,我們簡單做一個解釋
字符編碼
首先第一個要解釋的是python的編碼格式,python的解釋器在加載python的代碼時,默認會按照ASCII進行編碼
在我們的python程序中,我們免不了要對中文進行處理,但是我們知道ASCII是不支持中文的,所以我們就需要在python文件的首行加上編碼格式的申明。
對於中文的編碼,我們肯定要提到1980年的gb2312,當時最早的計算機中文編碼,只是當時gb2312支持的漢字只收錄了7445個字符,其中包括6763個漢字和682個其他符號
gb2312支持的漢字過少,所以在1995又出了新的漢字擴展規範GBK1.0,gbk1.0總共收錄了21886個符號,分爲漢字區和圖形符號區,漢字區包括21003個字符。在後面中文的字符編碼在不斷的更新換代,同時也支持了我國很多少數民族的文字,如維吾爾文、藏文,雖然現在的PC支持的中文編碼格式已經很全了,但對於嵌入式設備,如手機、MP3、MP4一般只支持GB2312。
顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字符和符號的編碼,即:Unicode
Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是爲了解決傳統的字符編碼方案的侷限而產生的,它爲每種語言中的每個字符設定了統一併且唯一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536,
注:此處說的的是最少2個字節,可能更多
UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個字節,而是將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存..
如想了解更多關於字符編碼的請自行上網查閱
需要注意的是,python3默認支持的是utf-8,所以一般是不需要當心編碼的錯誤,但是爲了兼容更多平臺,還是建議在一些項目中加入申明編碼
註釋
然後再下面一行是一個註釋,說明代碼作者的名字,這個你們也可以養成這樣的習慣,申明自己的個人代碼
在python中有兩種註釋格式,分爲單行註釋和多行註釋
單行註釋:# 註釋的內容
# 這是當行註釋
多行註釋:''' 註釋的內容 '''
'''
這是多行註釋
特克斯官網www.susmote.com
'''
輸出與輸入
在python2中使用 print 函數時和在python3中有很大不同
python2中在輸出時可以不加括號
>>> print "hello"
hello
>>> i = 2
>>> print i
2
但在python3中,強制要求加括號,不加括號解釋器就會報錯
>>> print("hello")
hello
>>> i = 1
>>> print(i)
1
除了輸出,python當然也有輸入的函數
在輸入方面,python2和python3也有一點不同
input函數裏面可以加入參數作爲一個提示符
python2中輸入數據,有raw_input() 和 input() 兩個函數
- raw_input()將所有輸入作爲字符串看待,返回字符串類型
- input()只能接收數字的輸入,也能輸入一個表達式,他返回所輸入的數字的類型(int ,float)
>>> name = raw_input("請輸入你的名字: ")
請輸入你的名字: susmote
>>> type(name)
<type 'str'>
輸入字符串返回字符串
>>> age = raw_input("請輸入你的年齡: ")
請輸入你的年齡: 18
>>> type(age)
<type 'str'>
輸入數值返回字符串
>>> result = raw_input("請輸入一個算數表達式: ")
請輸入一個算數表達式: 2*50
>>> print result
2*50
輸入表達式後返回的是字符串
>>> age = input("請輸入你的年齡: ")
請輸入你的年齡: 18
>>> type(age)
<type 'int'>
input只支持輸入數字
>>> result = input("請輸入一個算數表達式: ")
請輸入一個算數表達式: 2*50
>>> print result
100
input能計算表達式提示:type()函數可以返回數據的類型
python3中input()函數接收一個標準輸入數據,返回的是string類型,在python3中只有一個input,去除了raw_input.
>>> name = input("input your name")
input your namesusmote
>>> name = input("請輸入你的名字: ")
請輸入你的名字: susmote
>>> type(name)
<class 'str'>
>>> age = input("請輸入你的年齡: ")
請輸入你的年齡: 18
>>> type(age)
<class 'str'>
>>> result = input("請輸入一個表達式: ")
請輸入一個表達式: 2*50
>>> print(result)
2*50
當然python也提供了一個方法,可以方便隱藏輸入的密碼
我們只需要在使用前導入這個模塊
import getpass
然後使用getpass.getpass()方法
>>> passwd = getpass.getpass("請輸入你的密碼: ")
請輸入你的密碼:
>>> print(passwd)
123456
默認在輸入時沒有顯示,這個有點像Linux的用戶密碼輸入