標籤:使用者登陸 encoding x11 登陸驗證 border 原來 令行 color 簡潔
一、Hello World!
假設你已經安裝好了Python, 那麼在Linux命令列輸入:
$python
將直接進入python。然後在命令列提示符>>>後面輸入:
>>>print(‘Hello World!‘)
可以看到,隨後在螢幕上輸出:
Hello World!
二、解譯器
如果想要類似於執行shell指令碼一樣執行python指令碼,例:./hello.py ,那麼就需要在 hello.py 檔案的頭部指定解譯器
| 123 |
#!/usr/bin/env python print "hello,world" |
如此一來,執行: ./hello.py 即可。
ps:執行前需給予 hello.py 執行許可權,chmod 755 hello.py
三、內容編碼
python解譯器在載入 .py 檔案中的代碼時,會對內容進行編碼(預設ascill)
ps:應該顯示的告訴python解譯器,用什麼編碼來執行原始碼。(2.7 # -*- conding:utf- -*- 3.X 預設utf-8)
#!/usr/bin/env python# -*- coding: utf-8 -*- print "你好,世界"
四、注釋
當行注視:# 被注釋內容
多行注釋:""" 被注釋內容 """
五、執行指令碼傳入參數
Python有大量的模組,從而使得開發Python程式非常簡潔。類庫有包括三中:
- Python內部提供的模組
- 業內開源的模組
- 程式員自己開發的模組
Python內部提供一個 sys 的模組,其中的 sys.argv 用來捕獲執行執行python指令碼時傳入的參數
| 123456 |
#!/usr/bin/env python# -*- coding: utf-8 -*- import sys print sys.argv |
六、 pyc 檔案
執行Python代碼時,如果匯入了其他的 .py 檔案,那麼,執行過程中會自動產生一個與其同名的 .pyc 檔案,該檔案就是Python解譯器編譯之後產生的位元組碼。
ps:代碼經過編譯可以產生位元組碼;位元組碼通過反編譯也可以得到代碼。
七、變數
聲明變數
| 1234 |
#!/usr/bin/env python# -*- coding: utf-8 -*- name = "wupeiqi" |
上述代碼聲明了一個變數,變數名為: name,變數name的值為:"wupeiqi"
變數的作用:暱稱,其代指記憶體裡某個地址中儲存的內容
變數定義的規則:
- 變數名只能是 字母、數字或底線的任意組合
- 變數名的第一個字元不能是數字
- 以下關鍵字不能聲明為變數名
- [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
#一個等號是賦值,兩個等號是比較,!=表示不等於。
八、輸入
| 12345678 |
#!/usr/bin/env python# -*- coding: utf-8 -*- # 將使用者輸入的內容賦值給 name 變數name = raw_input("請輸入使用者名稱:") # 列印輸入的內容print name 2.7中 raw_input 3.X中input |
輸入密碼時,如果想要不可見,需要利用getpass 模組中的 getpass方法,即:
| 12345678910 |
#!/usr/bin/env python# -*- coding: utf-8 -*- import getpass # 將使用者輸入的內容賦值給 name 變數pwd = getpass.getpass("請輸入密碼:") # 列印輸入的內容print pwd |
九、流程式控制制和縮排
需求一、使用者登陸驗證
| 1234567891011121314151617181920 |
#!/usr/bin/env python# -*- coding: encoding -*- # 提示輸入使用者名稱和密碼 # 驗證使用者名稱和密碼# 如果錯誤,則輸出使用者名稱或密碼錯誤# 如果成功,則輸出 歡迎,XXX! import getpass name = raw_input(‘請輸入使用者名稱:‘)pwd = getpass.getpass(‘請輸入密碼:‘) if name == "alex" and pwd == "cmd": print "歡迎,alex!"else: print "使用者名稱和密碼錯誤" |
需求二、根據使用者輸入內容輸出其許可權
| 123456 |
# 根據使用者輸入內容列印其許可權 # alex --> 超級管理員# eric --> 普通管理員# tony,rain --> 業務主管# 其他 --> 普通使用者 |
| 1234567891011 |
name = raw_input(‘請輸入使用者名稱:‘) if name == "alex": print "超級管理員"elif name == "eric": print "普通管理員"elif name == "tony" or name == "rain": print "業務主管"else: print "普通使用者" |
PS:外層變數,可以被內層變數使用; 內層變數,無法被外層變數使用。
十、while迴圈
1、基本迴圈
| 12345 |
while 條件: # 迴圈體 #當迴圈到尾部時,判斷條件是否True,如果是繼續執行。 |
2、break
用於跳出當前迴圈,並且下面的代碼不再執行。
| 1234 |
while True: print "123" break print "456" |
3、continue
用於跳出本次迴圈,重新執行下一次迴圈。
| 1234 |
while True: print "123" continue print "456" |
十一、編碼、解碼
#py2# -*- conding:utf-8 -*-temp = "周杰倫" #utf-8#解碼,需要指定原來是什麼編碼temp_unicode = temp.decode(‘utf-8‘)#編碼,需要指定要變成什麼編碼temp_gbk = temp_unicode.encode(‘gbk‘)#py3自動轉換utf-8unicodegbk#py3移除了python的unicode類型temp = "周杰倫" #utf-8temp_gbk = temp.encode(‘gbk‘)print(temp_gbk)
十二、運算子
#算術運算+-*/%模數運算 可用來判斷奇偶**冪//取整除py2:9/2 = 49/2 = 4.5(匯入模組from __future__ import division)py3:9/2 = 4.5#比較運算==等於!=不等於<>不等於(2)<>>=<=#賦值運算=+=-=*=/=**=%=//=#邏輯運算and與or或not非#成員運算in not in
Python之路——基礎知識02