一、變量
1、意義:存儲(chǔ)一些臨時(shí)的值或運(yùn)算過(guò)程中的結(jié)果,方便以后調(diào)用,存在內(nèi)存里
2、命名規(guī)則:
? ? ? ? ? ? ? ? ? ? * 由字母、數(shù)字、下劃線組成,不能含有空格和特殊字符(# ,@ ,%)
? ? ? ? ? ? ? ? ? ? * 首個(gè)字符不能是數(shù)字
? ? ? ? ? ? ? ? ? ? * 不能用中文命名
? ? ? ? ? ? ? ? ? ? * 規(guī)避帶有固定意義的保留字符(關(guān)鍵字),如 return if 等
? ? ? ? ? ? ? ? ? ? *命名規(guī)范,駝峰或下劃線連接,推薦下劃線
3、使用規(guī)則:先定義,后調(diào)用
4、賦值:
? ? * 賦值符號(hào) =
? ? * 多重復(fù)值 ?x = y = 12
? ? * 多變量賦值 x , y ,z ?= 10
? ? * 交換變量的值 ?x ,y ?= ?y ,x
#內(nèi)存里創(chuàng)建了一個(gè)值“l(fā)i”,然后用一條線把這個(gè)值和變量名name聯(lián)系起來(lái),可以把這條線理解為這個(gè)值在內(nèi)存里的路徑,
name ="li"
#name把li值對(duì)應(yīng)的路徑復(fù)制了一份給name2,所以這個(gè)時(shí)候name2的值也是liname2=name#重新再內(nèi)存里創(chuàng)建了一個(gè)值wang,然后把路徑給了name, 所有的變量常量在靜止?fàn)顟B(tài)下都只能有一個(gè)值,也就是說(shuō),這個(gè)時(shí)候name的值這個(gè)時(shí)候變成了wang
name="wnag"
#打印時(shí),name的路徑指向wang,name2的路徑指向li
print(name,name2)
打印結(jié)果為:wnag li
二、常量
1、意義:不變的量
2、命名規(guī)范:全部大寫,其他參考常量
三、內(nèi)存回收
1、Python自動(dòng)回收:當(dāng)內(nèi)存里的值沒有與外聯(lián)系的時(shí)候,也就是說(shuō)它沒有被引用的時(shí)候就會(huì)被自動(dòng)回收
2、手動(dòng)回收;拆除變量與值之間的引用關(guān)系
#1、強(qiáng)拆 我要拆這間房了,誰(shuí)在里邊,我就干誰(shuí)
name ="li"
del name
#2、陰招 我要拆這間房了,誰(shuí)在里邊,趕緊搬家滾
name="wang"
name="zhao"
注:手動(dòng)回收只是清除值與變量名之間的聯(lián)系,這個(gè)時(shí)候,值其實(shí)還在內(nèi)存里,還要依賴于Python的自動(dòng)回收機(jī)制
五、注釋
1、單行注釋 #
2、多行注釋 ? ? ?“”“ ? ?”“” 、 ‘’‘ ? ? ’‘’ 三個(gè)單引號(hào)或者雙引號(hào) ? ?
六、運(yùn)算符
1、算數(shù)運(yùn)算符
? ? * + 加、連接
????* ?- ?減
????* ?* ?乘、復(fù)制
????* ?/ ?除
????* ?// ?整除
????* ?% ?取余
? ? * ?len()計(jì)算元素個(gè)數(shù),也可以看做一種運(yùn)算符,
2、比較運(yùn)算符
? ? * ?<= ?小于等于
? ? * ?< ? ? 小于
? ? * ?= ? ? 等于
? ? * ?!= ? ?不等于
? ? * ?>= ?大于等于
3、身份運(yùn)算符
? ? * ?is ? ? 是
? ? * ?is not ? ?不是
4、成員運(yùn)算符
? ? * ?in ? ?包含
? ? * ?not in ? ?不包含
5、邏輯運(yùn)算符
? ? * not ? ?不
? ? * ?or ? ?或
? ? * ?and ? ?且
6、賦值運(yùn)算符
? ? * ? 賦值運(yùn)算符 ? =
? ? * ?復(fù)合賦值運(yùn)算符 ? ?=?+=?-=?*=?/=?%=?//=?**=?&=?`=?^=?>>=?<<=`
a = 10
b = 3
a += b # 相當(dāng)于:a = a + b
a *= a + 2 # 相當(dāng)于:a = a * (a + 2)
7、其他
? ? * ?[]?[:]????下標(biāo),切片
? ? * ?**? ? ????指數(shù)
? ? * ?~?+?-? ? 按位取反, 正負(fù)號(hào)
? ? * ?>>?<<?右移,左移
? ? * ?&?????????按位與
? ? * ?^?|?????????按位異或,按位或
flag0 = 1 == 1
flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not (1 != 2)
print('flag0 =', flag0) # flag0 = True
print('flag1 =', flag1) # flag1 = True
print('flag2 =', flag2) # flag2 = False
print('flag3 =', flag3) # flag3 = False
print('flag4 =', flag4) # flag4 = True
print('flag5 =', flag5) # flag5 = False
print(flag1 is True) # True
print(flag2 is not False) # Fals
注:在一個(gè)表達(dá)式里,運(yùn)算符太多不好理清優(yōu)先級(jí)的話,最好用括號(hào)一層層包起來(lái)