Python 基礎(chǔ)
一 、windows環(huán)境安裝配置python
1、python官網(wǎng):https://www.python.org/downloads

2、勾選系統(tǒng)環(huán)境變量(之后,cmd命令提示符界面直接輸入python 運(yùn)行,可以看到當(dāng)前版本 3.10.6)

3、可以更改安裝路徑,安裝好以后這個(gè)路徑下有python.exe,這個(gè)就是python解釋器,可以解釋運(yùn)行 .py文件

4、新建一個(gè)文本文檔,輸入一句print('Hello,world!'),保存成test1.py文件,打開(kāi)命令提示符界面,輸入python + test1.py的路徑,回車運(yùn)行

二、編譯型和解釋型
編譯型:全部編譯二進(jìn)制,再執(zhí)行
-
優(yōu)點(diǎn):執(zhí)行效率高
-
缺點(diǎn):開(kāi)發(fā)效率低,可移植性差
解釋型:逐行解釋成二進(jìn)制,并執(zhí)行
- 優(yōu)點(diǎn):開(kāi)發(fā)效率高
- 缺點(diǎn):執(zhí)行效率低,運(yùn)行時(shí)間差異可忽略,移植性好
各種語(yǔ)言的分類,python是解釋型語(yǔ)言

三、常見(jiàn)python解釋器種類
- Cpython:最常用,官方推薦解釋器,可以轉(zhuǎn)換成C語(yǔ)言能識(shí)別的字節(jié)碼
- Ironpython:轉(zhuǎn)換成。net語(yǔ)言識(shí)別的字節(jié)碼
- Jpython:java可以識(shí)別的
四、變量,常量
1、變量
-
字母、數(shù)字、下劃線組成
-
只能字母開(kāi)頭
-
常量放程序最上面,全大寫(xiě)表示
-
字符串可以與數(shù)字相乘: ‘a(chǎn)a’*3=’aaaaaa‘
-
判斷數(shù)據(jù)類型用type()函數(shù)
-
避開(kāi)python關(guān)鍵字:['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']
-
變量名要可描述性
-
推薦定義方式:駝峰式(StudentsNumber),下劃線(students_number)
2、常量
- 比如π可以這樣定義:PAI = 3.1415926
五、注釋
- ‘#’注釋單行:
# 這是注釋
print('hello,world')
- ‘’‘ 注釋多行:
'''
#用三個(gè)單引號(hào)
這是注釋第一行
這是注釋第二行
'''
print('hello,world')
-- 20220816 整理
六、格式化輸入輸出(占位符%)
#用input()函數(shù)讀取輸入內(nèi)容
name = input ('Entry your name:')
age = input('Entry your age:')
msg = 'Your name is %s, age is %s' %(name,age) #這里在字符串里用%s來(lái)替代 name和age的位置,輸入的內(nèi)容都是字符串,可以用type(name)語(yǔ)句查看一下name的數(shù)據(jù)類型。可以看到引號(hào)里的%s和 后面括號(hào)內(nèi)的內(nèi)容按順序一一對(duì)應(yīng)的。
print (msg)


- %是占位符 ,其中 s 指的是str , d代表是數(shù)字 還有i ,r
- 單純輸出%時(shí)候,需要敲2個(gè)%%,第一個(gè)%是為了說(shuō)明后面%的轉(zhuǎn)義
msg = '今天的空氣濕度是 %d%'%50 #這樣會(huì)報(bào)錯(cuò),引號(hào)內(nèi)第二個(gè)%會(huì)被認(rèn)為你要傳值進(jìn)來(lái),其實(shí)我們想讓他當(dāng)成濕度的%,可以多加一個(gè)%進(jìn)行轉(zhuǎn)義
msg = '今天的空氣濕度是 %d%%'%50
print(msg)

#可以在input輸入的時(shí)候就直接類型轉(zhuǎn)換
age = int(input('Enter your age:'))
type(age)

七、運(yùn)算符
- 算術(shù)運(yùn)算符

- 比較運(yùn)算符

- 邏輯運(yùn)算符

- 賦值運(yùn)算符

- 成員運(yùn)算符

- 運(yùn)算符優(yōu)先級(jí)

八、編碼(重要)
- 最早期的密碼本是 美國(guó)的 ASCII碼,一個(gè)字節(jié)8位, 2的7次方 128個(gè) , 太少了,
- 各個(gè)國(guó)家創(chuàng)建自己的編碼, 中國(guó)的國(guó)標(biāo)是gbk(gb2312) ,2個(gè)字節(jié), 包括ASCII 碼 和中文,一個(gè)漢字是2個(gè)字節(jié),比如“中國(guó)”占4個(gè)字節(jié) , 8bit (位) = 1byte (字節(jié)) , 一個(gè)漢字 2個(gè)字節(jié), gbk 1個(gè)英文字母 一個(gè)字節(jié)byte, gbk 1個(gè)中文漢字 2個(gè)字節(jié) byte ,2個(gè)字節(jié)16位 ,有65535 個(gè)可能
- 但是gbk不兼容日語(yǔ)韓語(yǔ)等,于是出現(xiàn)了Unicode :萬(wàn)國(guó)碼,所有國(guó)家的文字都記錄進(jìn)去,為了涵蓋,用4個(gè)字節(jié) , 32位 , 一個(gè)英文字母,一個(gè)漢字都是4個(gè)字節(jié),太浪費(fèi)
- 于是出現(xiàn)了 Utf-8 :Unicode升級(jí)版,英文用1個(gè)字節(jié),歐文用2個(gè),漢字用3個(gè),最常用
- ’中國(guó)‘用gbk 4個(gè)字節(jié) ,用Utf-8 6個(gè)字節(jié)
- 8bit=1byte 1024byte = 1kB 1024KB=1MB
九、流程控制
- while
#從1輸出到10
num = 1
while num<=10: #結(jié)構(gòu)很簡(jiǎn)單,循環(huán)體不用寫(xiě)大括號(hào),結(jié)尾是個(gè)冒號(hào):語(yǔ)句也不用寫(xiě)分號(hào)
print(num) #python 對(duì)縮進(jìn)敏感,必須縮進(jìn),我嘗試了下,沒(méi)有說(shuō)必須縮進(jìn)一個(gè)Tab符,一個(gè)空格也行,但是同一個(gè)代碼塊的縮進(jìn)必須一致
num+=1
#可以用continue跳出當(dāng)前循環(huán),用break終止循環(huán)

- if...elif...else
#猜數(shù)字游戲:給定一個(gè)1-100以內(nèi)的數(shù)字,循環(huán)輸入你的數(shù)值,程序判斷大了還是小了,或者猜對(duì)啦
result=55
num=0
while 1:
num = int(input('Enter your num:'))
if num>result:
print('大了')
elif num<result:
print('小了')
else:
print('猜對(duì)了')
break
- for循環(huán)
names = ['Jerry','Tom','Lyq'] #這里用到了中括號(hào)的數(shù)據(jù)類型是,列表
for name in names:
if name == 'Lyq':
print(name,' is here!')
#輸出 Lyq is here!
浙公網(wǎng)安備 33010602011771號(hào)