基本語(yǔ)法
一,快捷鍵
補(bǔ)充的新的
ctrl+/ 添加或取消一行注釋
ctrl+n 新建
ctrl+f 搜索
ctrl+r 搜索+替換
ctrl+z 撤銷
ctrl+shift+z 反撤銷
TAB 補(bǔ)充代碼
二溃斋,注釋
- 注釋:是程序中專門用來(lái)注釋說(shuō)明文字界拦。不參與程序編譯和執(zhí)行。對(duì)程序的功能沒(méi)有任何影響
- 單行注釋:在說(shuō)明性文字前加#
- 使用三個(gè)單或雙引號(hào)闊起來(lái)了梗劫,設(shè)置多行注釋
例:
"""
多行
注釋
"""
三享甸,標(biāo)識(shí)符
- 標(biāo)識(shí)符就是用來(lái)命名的,給變量梳侨、函數(shù)蛉威、類命名。
num = 10
print(num)
四走哺,行與縮進(jìn)
- python中對(duì)代碼里面的所有有嚴(yán)格要求蚯嫌。同級(jí)代碼前的縮進(jìn)(空格/tab)的個(gè)數(shù)必須一致
- 行的規(guī)范:要求聲明函數(shù)和類的前后需要有兩個(gè)空行
print('hello world') # IndentationError
五,分段(行)顯示
- 一句代碼很長(zhǎng)丙躏,需要多行來(lái)顯示的時(shí)候择示,可以在需要換行的位置加\
注意:加\的時(shí)候不能將一個(gè)數(shù)據(jù),一個(gè)變量名給拆開(kāi)
num = 2837487 + 34398748 + 384798578 +\
37847578 + 347895789 + 457279 + \
345234757 + 3549087 + 3457078
如果代碼是列表晒旅、元祖栅盲、字典、集合的字面量废恋,可以直接換行谈秫,不用加\
list1 = [
12,
23,
4543,
'ahgshgd',
'sjhfjkh'
]
六,一行顯示多條語(yǔ)句
- 一行顯示一條語(yǔ)句的時(shí)候拴签,后面不用加分號(hào)孝常。但是如果希望在一行顯示多條語(yǔ)句旗们,那么多條語(yǔ)句之間必須加分號(hào)
print('aaa');print('bbb')
七蚓哩,關(guān)鍵字(保留字)
- python中已經(jīng)定義好的有特殊的功能或者特殊的意義的一些標(biāo)識(shí)符,就是python的關(guān)鍵字上渴。
命名的時(shí)候不能使用關(guān)鍵字
import keyword # 導(dǎo)入keyword模塊
print(keyword.kwlist) # 打印python中所有的關(guān)鍵字
關(guān)鍵字:
'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class',
'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
八岸梨,print函數(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)容之間用空格隔開(kāi)
默認(rèn)情況下稠氮,一個(gè)print中的內(nèi)容占一行(以換行結(jié)束)曹阔。一個(gè)print中的多個(gè)內(nèi)容用空格隔開(kāi)
print(內(nèi)容,內(nèi)容1,...,內(nèi)容n, end='換行標(biāo)志')
print(內(nèi)容,內(nèi)容1隔披,...,內(nèi)容n, sep='分割標(biāo)志')
print('打印1')
print(100)
print('abc', 'bcd', 200)
print('打印1', end='==')
print(100)
print('abc', 'bcd', 200, sep='@')
print('abc', 'bcd', 200, sep='')
結(jié)果如下
input() - 從控制臺(tái)輸入一串內(nèi)容赃份,以回車結(jié)束。并且將內(nèi)容返回(以字符串的形式返回)
input('提示信息')
注意:程序執(zhí)行到input的時(shí)候,程序會(huì)停下來(lái)抓韩,直到輸入完成為止
print(input('請(qǐng)輸入:'))
結(jié)果如下
常用數(shù)據(jù)類型
- python中常用的數(shù)據(jù)類型有:整型纠永、浮點(diǎn)型、布爾谒拴、字符串尝江、列表、字典英上、元祖炭序、集合、函數(shù)等....
1.常見(jiàn)數(shù)據(jù)類型的字面量(常量)
整型: 100, 23, -129 -- 所有的整數(shù)
浮點(diǎn)型: 12.3, 45.0, -0.1123 -- 所有的小數(shù)
布爾: True, False -- 只有兩個(gè)值
字符串: 'abc', "ahjs", '348sj', "上的+-" -- 由雙引號(hào)或者單引號(hào)括起來(lái)的內(nèi)容
列表: [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ù)對(duì)應(yīng)的類型相恃,包含了所有的整數(shù)彼妻。
python3.x中整數(shù)對(duì)應(yīng)的類型只有一個(gè):int
python2.x中整數(shù)對(duì)應(yīng)的類型有:int和long
python中的整數(shù),除了可以用十進(jìn)制表示豆茫,還可以用二進(jìn)制侨歉、八進(jìn)制和十六進(jìn)制進(jìn)行表示
b.浮點(diǎn)型(float): 小數(shù)對(duì)應(yīng)的類型,包含了所有小數(shù)揩魂。
支持科學(xué)計(jì)數(shù)法
例
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)
結(jié)果如下
d.復(fù)數(shù)(complex): 所有的虛數(shù)對(duì)應(yīng)的類型
數(shù)字后面加j牵舵,來(lái)表示復(fù)數(shù)的虛部。實(shí)部就是普通數(shù)字
例如
10+1j
20-9j
print((10+1j)+(20-9j))
結(jié)果如下
3.type函數(shù)
- type(數(shù)據(jù)) - 獲取數(shù)據(jù)對(duì)應(yīng)的類型
print(type(100))
print(type(10+2j))
結(jié)果如下
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)換成布爾)
例
print(float(False))
print(int(False))
print(bool(10+10j))
結(jié)果如下
進(jìn)制
1.十進(jìn)制
基數(shù):0,1方援,2没炒,3,4犯戏,5送火,6,7先匪,8种吸,9
進(jìn)位:逢10進(jìn)1
位權(quán):123 = 1x10^2 + 2x10^1 + 30x10^0 (10^n)
表示: 所有的數(shù)字都是10進(jìn)制數(shù)(數(shù)字直接寫(xiě))
例
23
10
78
2.二進(jìn)制
基數(shù): 0,1
進(jìn)位: 逢2進(jìn)1
位權(quán): 1101(2) = 1x2^0 + 0x2^1 + 1x2^2 + 1x2^3 = 13 (2^n)
表示: 在二進(jìn)制數(shù)前加前綴:0b或者0B
例
0b10101
0B01010
3.八進(jìn)制
基數(shù):0呀非,1坚俗,2,3,4猖败,5形耗,6,7
進(jìn)位:逢8進(jìn)1
位權(quán): 123(8) = 3x8^0 + 2x8^1 + 1x8^2 = 83 (8^n)
表示:在八進(jìn)制數(shù)加前綴:0o或者0O
例
0o12
0O67
4.十六進(jìn)制
基數(shù):0辙浑,1激涤,2,3判呕,4倦踢,5,6侠草,7辱挥,8,9边涕,a(10)晤碘,b(11),c(12)功蜓,d(13)园爷,e(14),f(15)(字母大寫(xiě)和小寫(xiě)都可以)
進(jìn)位:逢16進(jìn)1
位權(quán): 123(16) = 3x16^0 + 2x16^1 + 1x16^2 (16^n)
表示: 在十六進(jìn)制數(shù)的前面加前綴:0x或者0X
例
0x12a
0Xffee
0X1023
num = 0x1010
print(num)
結(jié)果如下
5.其他進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換
- 其他進(jìn)制轉(zhuǎn)十進(jìn)制:每一位上的數(shù)*權(quán)值式撼,然后再求和
110(2) = 1x2^1 + 1x2^2 = 6(10)
110(8) = 1x8^1 + 1x8^2 = 72(10)
110(16) = 1x16^1 + 1x16^2 = 272(10)
- 將十進(jìn)制轉(zhuǎn)換成其他進(jìn)制
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)換
- 二進(jìn)制轉(zhuǎn)八進(jìn)制:每3位的二進(jìn)制轉(zhuǎn)換成1位的八進(jìn)制
001 100 100 110 010 011 100(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)
- 二進(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)制
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))
結(jié)果如下
- oct(數(shù)字) - 將數(shù)字轉(zhuǎn)換成8進(jìn)制
例
print(oct(100))
print(oct(0x1af))
print(oct(0b110001101))
結(jié)果如下
- hex(數(shù)字) - 將數(shù)字轉(zhuǎn)換成16進(jìn)制
例
print(hex(100))
print(hex(0o67))
print(hex(0b11011101110))
結(jié)果如下
- 所有進(jìn)制最后會(huì)自動(dòng)轉(zhuǎn)換成10進(jìn)制
例
num = 0xaf
print(num)
print(0b111 + 0b110)
結(jié)果如下
原碼著隆,反碼和補(bǔ)碼
1.計(jì)算機(jī)數(shù)據(jù)的存儲(chǔ)
- 計(jì)算機(jī)能夠直接存儲(chǔ)的是數(shù)字扰楼,并且存的數(shù)字的補(bǔ)碼
2.計(jì)算機(jī)內(nèi)存大小單位
位(bit)
1字節(jié) = 8位
1KB = 1024字節(jié)
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
3.原碼:符號(hào)位+真值 (用最高位表示符號(hào)位,后面的其他為表示數(shù)字的二進(jìn)制)
- 符號(hào)位: 0 -> 正, 1 -> 負(fù)數(shù)
- 真值 :數(shù)字對(duì)應(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
2-3
2:0010(原)= 0010(補(bǔ))
-3:1011(原) = 1100(反)= 1101(補(bǔ)碼)
0010(補(bǔ))+ 1101(補(bǔ)碼) = 1111(補(bǔ)碼)= 1110(反) = 1001 = -1