一、Python安裝1、下載安裝包 https://www.python.org/downloads/2、安裝 預設安裝路徑:C:\python273、配置環境變數 【右鍵電腦】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一 ...
一、Python安裝
1、下載安裝包
https://www.python.org/downloads/
2、安裝
預設安裝路徑:C:\python27
3、配置環境變數
【右鍵電腦】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】
如:原來的值;C:\python27,切記前面有分號
二、Hello World程式
1、在linux 下創建一個文件叫hello.py,並輸入
print("Hello World!")
然後執行命令:python hello.py ,輸出
2、指定解釋器
上一步中執行 python hello.py 時,明確的指出 hello.py 腳本由 python 解釋器來執行。
如果想要類似於執行shell腳本一樣執行python腳本,例: ./hello.py ,那麼就需要在 hello.py 文件的頭部指定解釋器,如下:
#!/usr/bin/env python
print "hello,world"
如此一來,執行: ./hello.py 即可。
ps:執行前需給予 hello.py 執行許可權,chmod 755 hello.py
三、變數
1、聲明變數:
#_*_coding:utf-8_*_
name = "Guo"
上述代碼聲明瞭一個變數,變數名為: name,變數name的值為:"Guo"
2、變數定義的規則:
變數名只能是 字母、數字或下劃線的任意組合
變數名的第一個字元不能是數字
以下關鍵字不能聲明為變數名
['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']
3、變數的賦值:
name = "Guo"
name2 = name
print(name, name2)
name = "tg"
print(name, name2)
四、字元編碼
python解釋器在載入 .py 文件中的代碼時,會對內容進行編碼(預設ascill)
ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(一個位元組),即:2**8 = 256-1,所以,ASCII碼最多只能表示 255 個符號。
1、關於中文
為了處理漢字,程式員設計了用於簡體中文的GB2312和用於繁體中文的big5。
GB2312(1980年)一共收錄了7445個字元,包括6763個漢字和682個其它符號。漢字區的內碼範圍高位元組從B0-F7,低位元組從A1-FE,占用的碼位是72*94=6768。其中有5個空位是D7FA-D7FE。
GB2312 支持的漢字太少。1995年的漢字擴展規範GBK1.0收錄了21886個符號,它分為漢字區和圖形符號區。漢字區包括21003個字元。2000年的 GB18030是取代GBK1.0的正式國家標準。該標準收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字。現在的PC平臺必須支持GB18030,對嵌入式產品暫不作要求。所以手機、MP3一般只支持GB2312。
從ASCII、GB2312、GBK 到GB18030,這些編碼方法是向下相容的,即同一個字元在這些方案中總是有相同的編碼,後面的標準支持更多的字元。在這些編碼中,英文和中文可以統一地處理。區分中文編碼的方法是高位元組的最高位不為0。按照程式員的稱呼,GB2312、GBK到GB18030都屬於雙位元組字元集 (DBCS)。
有的中文Windows的預設內碼還是GBK,可以通過GB18030升級包升級到GB18030。不過GB18030相對GBK增加的字元,普通人是很難用到的,通常我們還是用GBK指代中文Windows內碼。
2、顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字元和符號的編碼,即:Unicode
Unicode(統一碼、萬國碼、單一碼)是一種在電腦上使用的字元編碼。Unicode 是為瞭解決傳統的字元編碼方案的局限而產生的,它為每種語言中的每個字元設定了統一併且唯一的二進位編碼,規定雖有的字元和符號最少由 16 位來表示(2個位元組),即:2 **16 = 65536,
註:此處說的的是最少2個位元組,可能更多
UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個位元組,而是將所有的字元和符號進行分類:ascii碼中的內容用1個位元組保存、歐洲的字元用2個位元組保存,東亞的字元用3個位元組保存...
所以,python解釋器在載入 .py 文件中的代碼時,會對內容進行編碼(預設ascill),如果是如下代碼的話:
報錯:ascii碼無法表示中文
#!/usr/bin/env python
print "你好,世界"
改正:應該顯示的告訴python解釋器,用什麼編碼來執行源代碼,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print "你好,世界"
3、pycharm添加模板:
pycharm添加模板:File --> Settings --> Editor --> File and Code Templates --> Python Script
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: gtg
五、註釋
當前行註視:# 被註釋內容
多行註釋:""" 被註釋內容 """
六、用戶輸入
#!/usr/bin/env python
#_*_coding:utf-8_*_
#name = raw_input("What is your name?") #only on python 2.x
name = input("What is your name?")
print("Hello " + name )
輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import getpass
# 將用戶輸入的內容賦值給 name 變數
pwd = getpass.getpass("請輸入密碼:")
# 列印輸入的內容
print(pwd)
用戶輸入格式化字元串代碼:
name = input("you name:") age = int(input("you age:")) work = input("you word:") msg = '''infomation of user %s: --------- name:%s age:%d work:%s ---end--- ''' % (name, name, age, work) print(msg) %s:字元串 %d:整數 %f:浮點數
七、模塊初識:
1、getpass模塊:
輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:
代碼:(pycharm下不好使)
import getpass
username = input("username:")
password = getpass.getpass("password")
print(username,password)
2、os模塊:
import os
os.system("df -h")
os.mkdir("pythondir") linux上創建目錄
cmd_res = os.popen("df -h").read() 把命令執行結果保存到變數中
3、sys模塊:
import sys
print(sys.path)
八、if else語句:
1、用戶名密碼代碼:
user = "gtg" passwd = "123" username = input("your name:") password = input("your password:") if user == username and passwd == password: print("Welcom Login") else: print("username or password ERROR")
2、猜數字游戲代碼:
age = 26 for i in range(10): if i < 3: guess_num = int(input("guess number is:")) if guess_num == age: print("OK") break elif guess_num > age: print("BIG") else: print("SMALL") else: print("QUIT") break
猜數字游戲代碼優化代碼:
age = 26 count = 0 for i in range(10): if count < 3: guess_num = int(input("guess number is:")) if guess_num == age: print("OK") break elif guess_num > age: print("BIG") else: print("SMALL") else: continue_confirm = input("want to continue:") if continue_confirm == 'y': count = 0 continue else: print("QUIT") break count +=1