快捷鍵
ctr+/ ~添加注釋和取消需在一行的開頭
ctr+s ~保存
ctr+c 復(fù)制 ctr+V 粘貼
ctr+ a 全選
ctr+X 剪切
ctr+z 撤銷
ctr+shift+z 反撤銷
按住shift 再點(diǎn)擊鼠標(biāo) 選中部分
按住Alt/option 再點(diǎn)擊鼠標(biāo) 讓界面出現(xiàn)多個(gè)光標(biāo)
轉(zhuǎn)十進(jìn)制 累計(jì)求和
0b10101=24+2+2^0=21
0o12=18^1+28^0=10
2進(jìn)制轉(zhuǎn)16 進(jìn)制
10 進(jìn)制轉(zhuǎn) 2 進(jìn)制 輾轉(zhuǎn)取余
2 進(jìn)制轉(zhuǎn)10 進(jìn)制
2進(jìn)制轉(zhuǎn)8進(jìn)制:將三位2進(jìn)制轉(zhuǎn)換成1位的8進(jìn)制
8 進(jìn)制轉(zhuǎn)2進(jìn)制
變量
"""
1.什么是變量
變量可在程序開辟空間儲(chǔ)存數(shù)據(jù)
2.怎么聲明變量
1)語(yǔ)法:
變量名 = 值
2)變量名:程序員自己命名
要求 是標(biāo)識(shí)符铁孵,不能是關(guān)鍵字
規(guī)范 遵守PEP8命名規(guī)范
a.變量名中所有字母都小寫若由多個(gè)單詞組成片挂,
單詞之間用下劃線隔開。
b.見名知意辅愿,看見變量名大概知道變量中存的
是什么數(shù)據(jù)。
= 賦值符號(hào)诱桂,將右邊的值賦給左邊的變量
值 任何有結(jié)果的表達(dá)式夏漱,可以是具體的數(shù)據(jù),
也可以是賦值的變量也可以是運(yùn)算表達(dá)試
num = 200
print(num)
變量?jī)?nèi)的值是以最后一次為準(zhǔn)吊圾,變量的值可以改變达椰,
同一個(gè)變量可以賦多個(gè)值,變量許先申明/賦值在使用
變量
2.同時(shí)聲明多個(gè)變量项乒,賦相同的值:變量名1 = 變量名2 = 變量名3...= 值
a = b = c = 10
print(a,b,c)
3.同時(shí)聲明多個(gè)變量啰劲,賦不同的值:變量名1,變量名,2檀何,...=值
注意:變量的個(gè)數(shù)要和值的個(gè)數(shù)保持一致
name,age,gender = '小米',18,'女'
print(name,age,gender)
4.聲明變量和給變量賦值原理
先在內(nèi)存中開辟空間存儲(chǔ)數(shù)據(jù)(內(nèi)存空間大小都有數(shù)據(jù)大小動(dòng)態(tài)分配)蝇裤,
然后再將保留數(shù)據(jù)內(nèi)存空間的地址賦給變量。
當(dāng)一個(gè)變量給另一個(gè)變量賦值時(shí)频鉴,賦的是地址給新變量栓辜。
num = 100
print(type(num))
print(id(num)) #獲取變量中數(shù)據(jù)在內(nèi)存中的地址
list1= [1,2,3,4,5,]
list2 =list1
list1.append(10)
print(list1)
print(list2)
運(yùn)算符
運(yùn)算符:數(shù)學(xué)運(yùn)算符,比較運(yùn)算符垛孔,邏輯運(yùn)算符藕甩,位運(yùn)算,賦值運(yùn)算符周荐。
3.邏輯運(yùn)算符;:and(邏輯與運(yùn)算)狭莱,or(邏輯或運(yùn)算),not(邏輯非運(yùn)算)
所有的邏輯運(yùn)算符的運(yùn)算對(duì)象是布爾概作,結(jié)果也是布爾
1)and腋妙;兩個(gè)都為true結(jié)果才是true,只要有一個(gè)是false結(jié)果就是false
true and true >>true
true and false >>false
false and false >>false
什么時(shí)候用:當(dāng)希望多個(gè)條件同時(shí)滿足的時(shí)候仆嗦,就用and將多個(gè)條件連接辉阶,
and相當(dāng)于生活中的并且。
2)or
運(yùn)算規(guī)則: 兩個(gè)都為false結(jié)果才是false瘩扼,只要有一個(gè)true結(jié)果就是true
什么時(shí)候用:當(dāng)希望多個(gè)條件只要有一個(gè)滿足的時(shí)候谆甜,就用or將多個(gè)條件連接。
3)not
運(yùn)算規(guī)則:true變false 集绰,false變true
什么時(shí)候使用规辱,對(duì)某個(gè) 條件進(jìn)行否定
age > 18
not age > 18
年齡不再2--18歲:not 12<= age <=18.
4)短路操作
邏輯與運(yùn)算的短路操作:當(dāng)and前面的表達(dá)值是FALSE的時(shí)候,程序
不會(huì)再去執(zhí)行后面的表達(dá)式栽燕。
邏輯運(yùn)算的短路操作:當(dāng)or前面的表達(dá)式值是true時(shí)罕袋,程序不會(huì)在執(zhí)行or后面的表達(dá)
用一個(gè)變量保存學(xué)生的變量改淑,一個(gè)變量保存學(xué)生的操評(píng)分;
寫一個(gè)條件來(lái)判斷學(xué)生是否能拿獎(jiǎng)學(xué)金浴讯。
a.獎(jiǎng)學(xué)金條件:績(jī)點(diǎn)不低于3.5朵夏,操評(píng)至少90分。
grade = 4
score = 88
條件1 grade >=3.5 條件2 score >=90
print('是否能拿獎(jiǎng)學(xué)金: ',grade >=3.5 and score >= 90)
練習(xí): 1 判斷一個(gè)數(shù)是否能夠被2 或者被5整除
num = 8
print(num%2==0 or num%5==0)
2 判斷一個(gè)數(shù)是否能夠被2 和5同時(shí)整除
print(num%2==0 and num%5==0)
print(num%10==0)
3 判斷一個(gè)數(shù)是否能夠被3 或者被7整除榆纽,并且末尾不是3.
print((num%3==0 or num%7==0) and (num%10!=3))
4仰猖,賦值運(yùn)算符:=,+=奈籽,-=饥侵,=,/=,%=,//=,*=.
不管是什么樣的賦值運(yùn)算符衣屏,最終的操作都是給變量賦值躏升,
所以左邊必須是變量。
1)=:右邊的值賦給左邊的變量
2)復(fù)合的賦值運(yùn)算符:先將賦值符號(hào)左邊變量中的值取出來(lái)狼忱,然后進(jìn)行
指定的運(yùn)算膨疏,最后將運(yùn)算結(jié)果在重新賦給左邊的變量。
注意:復(fù)合的賦值運(yùn)算符的左邊必須是已經(jīng)賦值過(guò)的變量
位運(yùn)算
位運(yùn)算操作的是數(shù)字的補(bǔ)碼的每一位藕赞;因?yàn)槭侵苯硬僮饔?jì)算機(jī)存儲(chǔ)空間的每一位成肘,
所以執(zhí)行效率高
5.位運(yùn)算的運(yùn)算符:
&(按位與運(yùn)算),|(按位或運(yùn)算),^(按位異或)斧蜕,~(按位取反)双霍,
<<左移, >>右移
1)數(shù)字&數(shù)字2 -> 兩個(gè)數(shù)字補(bǔ)碼上相同位置上的數(shù),
如果都是1結(jié)果就是1批销,
如果有一個(gè)結(jié)果是0就是0.
1&1-> 1
1&0 huo 0&1 huo 0&0 -> 0
110&001 ->000
011&11100111 ->00000011
10的原碼:00001010
20的原碼:00010100
10&20:000000
2)按位或運(yùn)算
數(shù)字1 | 數(shù)字2 ->兩個(gè)數(shù)字補(bǔ)碼上相同位置的數(shù)洒闸,
如果都是0結(jié)果就取0.
1 | 1 ->1
1 | 0 ->1
0 | 0->0
3)按位取反
~ 數(shù)字-> 將數(shù)字補(bǔ)碼上的每一位值由0變成1,1變成0
4)按位異或
數(shù)字1^數(shù)字2 -> 相同結(jié)果為0 不同結(jié)果為1
特點(diǎn) :一個(gè)數(shù)對(duì)另一個(gè)數(shù)異或兩次結(jié)果會(huì)還原成原數(shù)
1^1->0
1^0->1
0^1->1
0^0->0
5)<< 左移 >>右移
數(shù)字<<N -> 讓數(shù)字的補(bǔ)碼整體左移N位,低位用0補(bǔ)充均芽。
規(guī)律:數(shù)字乘以2的n次方 左移一位乘以2 左移二位乘以2的2次方
(2*N)
數(shù)字>>N -> 讓數(shù)字的補(bǔ)碼整體右移N位丘逸,高位補(bǔ)0,負(fù)數(shù)高位補(bǔ)1
規(guī)律:數(shù)字整除2的N次方
//(2**N)
print(10<<1)
應(yīng)用 :1掀宋,乘2的次方或者整除2的次方的操作 (<<,>>)
2,二進(jìn)制的最低位判斷奇偶怎么取最低位
數(shù)字&1 == 0 則偶數(shù)深纲,
數(shù)字&1 == 1 則奇數(shù).
運(yùn)算符的優(yōu)先級(jí),數(shù)字>比較>邏輯>賦值
** ,*, /, //, % , +, —劲妙。
如果有括號(hào)湃鹊,則先算擴(kuò)號(hào)里