1.變量
1.定義變量
2.使用變量
3.修改變量
重新給變量賦值
4. 同時給多個變量賦值
a, b, c = 10, 20, 30
print(a, b, c)
a1 = a2 = a3 = 100
x = 1
y = 2
x, y = y, x
print(x, y)
2.變量賦值的原理
1.先在堆中申請內(nèi)存(申請內(nèi)存的大小取決于被賦值的數(shù)據(jù)大小)
2.將數(shù)據(jù)保存在內(nèi)存中
3.將變量和保存數(shù)據(jù)的內(nèi)存進行相互關(guān)聯(lián)
id(變量):獲取變量中關(guān)聯(lián)的數(shù)據(jù)在內(nèi)存中的地址
num = 10
print(id(num))
num = 20
print(id())
3.數(shù)學運算符
Python支持的運算符:數(shù)學運算符、比較運算符、邏輯運算符、賦值運算符、位運算
1.數(shù)學運算符
% :取余
// :整除(取商的整數(shù)部分,并且向下取整)
** :冪運算
2.比較運算符
<, >, ==, <=, >= , !=
所有比較運算符的結(jié)果都是布爾值
數(shù)字數(shù)據(jù)不能和字符串數(shù)據(jù)進行比較
3.邏輯運算符
and or not
操作對象不是布爾的時候:
數(shù)據(jù)布爾值的確定:所有為零、為空('',None等)的值為False,其余為True。
數(shù)據(jù)1 and 數(shù)據(jù)2 -> 如果數(shù)據(jù)1的布爾值為True,結(jié)果為數(shù)據(jù)2,否則結(jié)果是數(shù)據(jù)1
數(shù)據(jù)1 or 數(shù)據(jù)2 -> 如果數(shù)據(jù)1的布爾值為True,結(jié)果為數(shù)據(jù)1,否則為數(shù)據(jù)2
4.賦值運算符
+=, -=, *=, /=, %=, //=, **=
運算符的優(yōu)先級:數(shù)學運算符 > 比較運算符 > 邏輯運算符 > 賦值運算符
5.位運算
位運算運算符:&(按位與)、|(按位或)、^(異或)、~(按位取反)、>>(右移)、<<(左移)
所有位運算都是直接操作數(shù)據(jù)在內(nèi)存中存儲的補碼
1.按位與 &
數(shù)字1 & 數(shù)字2 -> 兩個都是1,結(jié)果就是1,否則為0
應(yīng)用:判斷數(shù)字奇偶性(讓被判斷的數(shù)字和1進行按位與運算,如果是0,則為偶數(shù),如果是1,則為奇數(shù))
2.按位或|
數(shù)字1 | 數(shù)字2 -> 只要有個1,結(jié)果就是1,否則是0
3.異或^
數(shù)字1 ^ 數(shù)字2 不同為1,相同為0
異或兩次變回原來的值
4.按位取反~
0變1,1變0
5.左移 右移 << >>
數(shù)字1 >> 數(shù)字2 ->數(shù)字1 // 2**數(shù)字2
數(shù)字 << 數(shù)字2 -> 數(shù)字1 * 2**數(shù)字2