一 編程中的快捷鍵
ctrl+s - 保存
ctrl+c - 復(fù)制
Ctrl+v - 粘貼
ctrl+f - 搜索
Ctrl+n - 新建
Ctrl+r - 搜索+替換
ctrl+z -撤銷
ctrl+shift+z-反撤銷
tab /Enter - 補(bǔ)充代碼
注意事項(xiàng):
1.程序中所涉及的所有符號(hào)都是英文狀態(tài)下的.
2. print,是python內(nèi)置函數(shù)柬帕,作用是用來打印括號(hào)中的內(nèi)容,單引號(hào)是字符串的標(biāo)志
二 Python的基礎(chǔ)語法
1.注釋
注釋是程序中的注釋性說明的文字,不會(huì)參與程序的編譯和執(zhí)行
2.方法
- 單行注釋:在說明性文字前面加#號(hào)鍵
- 多行注釋:直接用三個(gè)單引號(hào)或者三個(gè)雙引號(hào)括起來用來設(shè)置多行注釋鹅髓;但是一般使用三個(gè)雙引號(hào)
*標(biāo)識(shí)符: 標(biāo)識(shí)符專門是用來專門命名的,給函數(shù)命名京景,變量命名窿冯,類命名等
(python中的標(biāo)識(shí)符要求是有數(shù)字,字母和下劃線組成确徙,并且不能數(shù)字開頭醒串。
注意,在Python3.x中鄙皇,標(biāo)識(shí)符中可以包含非ASCII碼(非Asscii包含中文芜赌,日文、韓文伴逸、拉丁文等)但是在實(shí)際開發(fā)中不要用)
例如:
num = 100
4ee = 100 SyntaxError: invalid syntax(語法錯(cuò)誤缠沈,無效語法;數(shù)字開頭)
3.行與縮進(jìn)
Python對里面的所有代碼都有嚴(yán)格的要求,格式上下要一致,不然會(huì)報(bào)錯(cuò)洲愤。同一級(jí)的的代碼前面的縮進(jìn)(空格/tab)的個(gè)數(shù)必須一致颓芭。一般一個(gè)tab表示一個(gè)縮進(jìn),空格也可以
行的規(guī)范:要求聲明函數(shù)和類的前后都需要兩個(gè)空格
4.分(段)行顯示
- 一句代碼很長禽篱,需要多行顯示的時(shí)候畜伐,需要在換行的位置加 /
eg:num = 267687 + 98080980+6987798
如果代碼是列表、元祖躺率、字典玛界、集合的書面量,可以直接換行悼吱,不用加/
5.一行語句顯示多行
print('267868763');print('687hdsjh')
- 一行顯示語句的時(shí)候慎框,后面不用加分號(hào),一行顯示多行的語句的時(shí)候后添,后面加分號(hào)
6.關(guān)鍵字(保留字)
python 中已經(jīng)定義好的有特殊功能或者特殊意義的的一些標(biāo)識(shí)符笨枯,就是Python的關(guān)鍵字在命名的時(shí)候不能用。(關(guān)鍵字不是很多遇西。)
import keyword #導(dǎo)入keyword模塊
print(keyword.kwlist)
7print 函數(shù)和input函數(shù)
- print (內(nèi)容)-在控制臺(tái)中打印內(nèi)容(內(nèi)容必須是Python數(shù)據(jù))
- print(內(nèi)容1馅精,內(nèi)容2.。粱檀。內(nèi)容n)-在一行打印多個(gè)內(nèi)容在控制臺(tái)顯示的時(shí)候洲敢,多個(gè)內(nèi)容之間空格用
默認(rèn)情況下,一個(gè)print占一行茄蚯,一個(gè)print打印多個(gè)內(nèi)容用空格隔開
print(內(nèi)容1压彭,內(nèi)容2.。渗常。內(nèi)容n壮不,sep='')
print('111', 'hui')
*input() -從控制臺(tái)輸入一串內(nèi)容,以回車結(jié)束皱碘,并且將內(nèi)容返回(以字符串的形式返回)
input(’提示信息')
print(input('請輸入:'))
三 Python中常用的數(shù)據(jù)類型
python中常用的數(shù)據(jù)類型有:整型询一、浮點(diǎn)型、布爾癌椿、字符串家凯、列表、字典如失、元祖绊诲、集合、函數(shù)等
1.常見數(shù)據(jù)類型的字面量 (常量)
a.整型: 100, 23, -129 -- 所有的整數(shù)
b.浮點(diǎn)型: 12.3, 45.0, -0.1123 -- 所有的小數(shù)
c.布爾: True, False -- 只有兩個(gè)值
d.字符串: 'abc', "ahjs", '348sj', "上的+-" -- 由雙引號(hào)或者單引號(hào)括起來的內(nèi)容
e.列表: [12, 'abc', True]--中括號(hào)括起來的內(nèi)容
f.元祖:(23, 89, 'asd')---用小括號(hào)括起來的內(nèi)容
g.字典:{'ab': 120, 18:'abc'}---用大括號(hào)括起來的內(nèi)容
eg:
100--整型
12.3-浮點(diǎn)型
True-布爾值
'348sj'--字符串
[12, 'abc', True]--列表
(23, 89, 'asd')--元祖
{'ab': 120, 18:'abc'}---字典
2.數(shù)字相關(guān)類型
python中和數(shù)字相關(guān)的類型:整型褪贵、浮點(diǎn)型掂之、布爾抗俄、復(fù)數(shù)(虛數(shù))
a.整型(int):整數(shù)對應(yīng)的類型,包含了所有的整數(shù)世舰。python3.x中整數(shù)對應(yīng)的類型只有一個(gè):int
python2.x中整數(shù)對應(yīng)的類型有:int和longb.python中的整數(shù)动雹,除了可以用十進(jìn)制表示,還可以用二進(jìn)制跟压、八進(jìn)制和十六進(jìn)制進(jìn)行表示
- a.浮點(diǎn)型(float): 小數(shù)對應(yīng)的類型胰蝠,包含了所有小數(shù)。支持科學(xué)計(jì)數(shù)法
eg:
12.90
-12.03
2e4 # 20000.0
print(2e4)
print(3e-2)
- c.布爾(bool): 只有True和False震蒋, 其中True表示真,False表示假茸塞。
True實(shí)質(zhì)就是數(shù)字1,F(xiàn)alse實(shí)質(zhì)是數(shù)字0
True和False都是關(guān)鍵字
證明:
print(True, False)
print(1+True, 1+False)
- d.復(fù)數(shù)(complex): 所有的虛數(shù)對應(yīng)的類型
數(shù)字后面加j查剖,來表示復(fù)數(shù)的虛部钾虐。實(shí)部就是普通數(shù)字
eg:
10+1j
20-9j
print((10+1j)+(20-9j))
3.type函數(shù)
type(數(shù)據(jù)) - 獲取數(shù)據(jù)對應(yīng)的類型
print(type(10+2j))
4.isinstance函數(shù)
isinstance(數(shù)據(jù),類型) - 判斷指定的數(shù)據(jù)是否是指定的類型,結(jié)果是布爾值
isinstance(100, float) ----- 判斷100是否是float類型
print(isinstance(100, float)) # False
print(isinstance(100, int)) # True
5.類型的強(qiáng)制轉(zhuǎn)換
- 類型名(數(shù)據(jù)) - 將指定數(shù)據(jù)轉(zhuǎn)換成指定類型
- 整型轉(zhuǎn)成浮點(diǎn)型: 在整數(shù)的后面加.0 float()
- 浮點(diǎn)型轉(zhuǎn)換成整型: 只保留小數(shù)點(diǎn)前面的整數(shù)部分 int()
- 其他類型轉(zhuǎn)布爾: 0轉(zhuǎn)換成False,其他的轉(zhuǎn)換成True bool()
- 注意:復(fù)數(shù)不能轉(zhuǎn)換成整型和浮點(diǎn)型笋庄,可以轉(zhuǎn)換成布爾類型(不管什么數(shù)據(jù)都可以轉(zhuǎn)換成布爾)
eg:
print(float(False))
print(int(False))
print(bool(10+10j))
4.數(shù)型的進(jìn)制
1.十進(jìn)制
a.基數(shù):0效扫,1,2直砂,3菌仁,4,5静暂,6济丘,7,8籍嘹,9
23
123
90
89
77677676
b.加法運(yùn)算:逢10進(jìn)1
c.位權(quán)(數(shù)碼所表示的數(shù)值等于該數(shù)碼本身乘以一個(gè)與它所在數(shù)位有關(guān)的常數(shù)):123 = 110^2 + 210^1 + 3*10^0 (10^n)
d.表示: 所有的數(shù)字都是10進(jìn)制數(shù)(數(shù)字直接寫)
eg:
123
10
78
67
2.二進(jìn)制
a.基數(shù): 0,1
b.加法運(yùn)算: 逢2進(jìn)1
1+0 = 1
0+1 = 1
0+0 = 0
1+1 = 0 -- 進(jìn)1
110 + 011 = 1001
101+110 = 1011
c.位權(quán): (2^n) 從右起開始弯院,每一個(gè)數(shù)字表示的是 :數(shù)字2^(n-1)
例如:
1101(2) = 12^0 + 02^1 + 12^2 + 1*2^3 = 13d.表示: 在二進(jìn)制數(shù)前加前綴:0b或者0B
0b10101
0B01010
0b2100 ---SyntaxError: invalid syntax (二進(jìn)制的表示中辱士,不能出現(xiàn)比基數(shù)大的數(shù)字)
3.八進(jìn)制
a.基數(shù):0,1听绳,2颂碘,3,4椅挣,5头岔,6,7
b.進(jìn)位:逢8進(jìn)1
c.位權(quán): (8^n)
123(8) = 38^0 + 28^1 + 1*8^2 = 83d.表示:在八進(jìn)制數(shù)加前綴:0o或者0O
0o12
0O67
4.十六進(jìn)制
a.基數(shù):0鼠证,1峡竣,2,3量九,4适掰,5颂碧,6,7类浪,8载城,9,a(10)费就,b(11)诉瓦,c(12),d(13)力细,e(14)睬澡,f(15)
字母大寫和小寫都可以
123
12a
ff
ef
abc
abc12b.進(jìn)位:逢16進(jìn)1
c.位權(quán): 123(16) = 316^0 + 216^1 + 1*16^2 (16^n)
d.表示: 在十六進(jìn)制數(shù)的前面加前綴:0x或者0X
0x12a
0Xffee
0X1023
5.其他進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換
a.其他進(jìn)制轉(zhuǎn)十進(jìn)制:每一位上的常數(shù)乘以權(quán)值,然后再求和艳汽,就是該數(shù)字十進(jìn)制的表示方法
110(2) = 12^1 + 12^2 = 6(10)
110(8) = 18^1 + 18^2 = 72(10)
110(16) = 116^1 + 116^2 = 272(10)
b.將十進(jìn)制轉(zhuǎn)換成其他進(jìn)制: 用該數(shù)處于它的進(jìn)制位猴贰,保留余數(shù),直到商數(shù)小于進(jìn)制位后河狐,從把余數(shù)倒敘排列米绕,就是該數(shù)值,轉(zhuǎn)化為十進(jìn)制的數(shù)值
100(10) = 1100100(2)
100(10) = 144(8)
100(10) = 64(16)
79(10) = 1001111(2)
79(10) = 117(8)
79(10) = 4f(16)
6. 二進(jìn)制和八進(jìn)制十六進(jìn)制的相互轉(zhuǎn)換
(因?yàn)?和8和16是次方關(guān)系馋艺,之間轉(zhuǎn)換很簡單)
- a.二進(jìn)制轉(zhuǎn)八進(jìn)制:每3位的二進(jìn)制轉(zhuǎn)換成1位的八進(jìn)制(因?yàn)?是2的三次方)
例如:
001100100110010011100(2) = 1446234(8)
八進(jìn)制轉(zhuǎn)二進(jìn)制:每1位8進(jìn)制栅干,轉(zhuǎn)換成3位的二進(jìn)制
6745(8) = 110 111 100 101(2)
- b.二進(jìn)制轉(zhuǎn)十六進(jìn)制:每4位的二進(jìn)制轉(zhuǎn)換成1位的十六進(jìn)制
0110 0100 1100 1001 1100(2) = 64c9c(16)
十六進(jìn)制轉(zhuǎn)二進(jìn)制:每1位16進(jìn)制,轉(zhuǎn)換成4位的二進(jìn)制(前面用數(shù)字0補(bǔ)充夠四位)
6745(16) = 0110 0111 0100 0101(2)
a12(16) = 1010 0001 0010(2)
"""
7.進(jìn)制轉(zhuǎn)換相應(yīng)的函數(shù) - 返回值是字符串
- bin(數(shù)字) - 將數(shù)字轉(zhuǎn)換成2進(jìn)制
例:
print(bin(100))
print(bin(0x6745))
print(bin(0o76))
*2. oct(數(shù)字) - 將數(shù)字轉(zhuǎn)換成8進(jìn)制
例:
print(oct(100))
print(oct(0x1af))
print(oct(0b110001101))
- hex(數(shù)字) - 將數(shù)字轉(zhuǎn)換成16進(jìn)制
例:
print(hex(100))
print(hex(0o67))
print(hex(0b11011101110))
- 所有進(jìn)制最后會(huì)自動(dòng)轉(zhuǎn)換成10進(jìn)制
num = 0xaf
print(num)
代碼 print(0b111 + 0b110)
5. 源碼捐祠、反碼和補(bǔ)碼
1. 計(jì)算機(jī)的存儲(chǔ)
計(jì)算機(jī)能夠直接存儲(chǔ)的是數(shù)字(僅為二進(jìn)制數(shù)字碱鳞,也就是1和0),并且存儲(chǔ)的是數(shù)字的補(bǔ)碼踱蛀。
2.計(jì)算機(jī)內(nèi)存大小單位
計(jì)算機(jī)最小的儲(chǔ)存單位是 位(bit)
1字節(jié) = 8位
1KB = 1024字節(jié)
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
3.原碼:符號(hào)位+真值 (用最高位表示符號(hào)位窿给,即他的正負(fù),后面的其他數(shù)值表示該值的二進(jìn)制數(shù)值)
符號(hào)位: 0 表示 正數(shù), 1 表示負(fù)數(shù)率拒。
真值 :數(shù)字對應(yīng)的二進(jìn)制值
10(原碼) = 00001010
-10(原碼) = 10001010
4.反碼:
正數(shù)的反碼和原碼一樣崩泡。
負(fù)數(shù)的反碼是符號(hào)位不變,其他位上的數(shù)取反(0變成1猬膨,1變成0)
10(反碼) = 00001010
-10(反碼) = 11110101
5.補(bǔ)碼:
正數(shù)的補(bǔ)碼和原碼一樣角撞。負(fù)數(shù)的補(bǔ)碼就是反碼加1
10(補(bǔ)碼) = 00001010
-10(補(bǔ)碼) = 11110110
注意:數(shù)據(jù)存儲(chǔ)和運(yùn)算的時(shí)候采用的是補(bǔ)碼〔眨看結(jié)果看的是原碼
如果計(jì)算機(jī)存儲(chǔ)的是原碼:
3:0011
2:0010
3+2 = 0101 = 5
原碼:
3-2 = 3+(-2) = 1101 = -5
3: 0011
-2:1010
補(bǔ)碼:
3(補(bǔ)) = 0011
-2(補(bǔ)) = 1101(反) = 1110(補(bǔ))
0011(補(bǔ))+1110(補(bǔ)) = 0001(補(bǔ)) = 0001(原) = 1
例如運(yùn)算2-3=
2:0010(原)= 0010(補(bǔ))
-3:1011(原) = 1100(反)= 1101(補(bǔ)碼)
0010(補(bǔ))+ 1101(補(bǔ)碼) = 1111(補(bǔ)碼)= 1110(反) = 1001 = -1
"""
print(bin(53))