運算子位運算
應用(leetcode 主站136題)
本文主要介紹關於python的基礎知識包括變數、運算子、資料型別以及位運算,針對入門級新手,也是針對自己做乙個總結
變數是相對於常量而言的,常量是指在程式中被指定為某個特定值的乙個量且程式執行過程中不改變;變數則是執行過程中可以改變的量(python中基本所有的量都是可以改變的,因此為了區分變數和常量,規定使用大小寫)
#這是變數
a =1
#這是變數
b =2
python1關於變數的命名有以下幾個規則:
使用某變數之時,一定要對其賦值pie =3.14
變數名可以包括下劃線、字母、陣列等,但是不能將用數字打頭
python3中資料型別共計6種:數字、字串、列表、元組、字典、集合。
python3中的數字型別只有四種:int(整型)、float(浮點型)、bool(布林型)、complex(複數型)
數字型別
例項int
a = 1
float
a = 3.14
bool
a = true
comolex
a = 3+ 4j
python3中被" "或者』 '框選的內容都是字串。a = "這是乙個字串型別"
python3中的列表是乙個[ ]的結構,裡面可以包括任何元素,任何型別。
#這就是乙個列表
list=[
'abcd'
,786
,2.23
,'runoob'
,70.2
]
列表中的元素和元素之間通過,隔開。
元組和列表類似,但是列表中的元素可以修改,但是元組不行。為了區分兩者,元組用()表示。
#這是乙個元組
tuple=(
'abcd'
,786
,2.23
,'runoob'
,70.2
)
集合是用來儲存不同的元素,用{}表示。
#這是乙個集合
sites =
print
(sites)
#結果為sites = ,重複元素'badiu'被去除了。
字典是一種用於儲存鍵值對的資料型別,也用{}表示。
dict
=#建立乙個空字典
dict
['one']=
"1"dict[2
]="two"
字典中的鍵必須唯一,值可以不唯一
運算是指處理變數和變數、變數和常量之間的關係的
算數運算子含義+
將變數進行相加,返回和,3+4 = 7
-將變數進行相減,返回差,4-3 = 1
*將變數進行相乘,返回積4*3 = 12
/將變數進行相除,返回積3/4 = 0.75
//將變數進行相除,返回整數字3//4 = 0
%取餘3%4 = 0
**求冪3**2 = 9
比較運算子
含義==
將物件進行是否比較,相等返回true ,不等返回false,3 == 4
返回false
!=將物件進行比較,不相等返回true ,相等返回false,3 != 4
返回true
>
將物件進行比較,大於返回true ,小於返回false,3 > 4
返回false
<
將物件進行比較,小於返回true ,大於返回false,3 > 4
返回false
>=
返回x是否大於等於y3 >= 4
返回false
<=
返回x是否小於等於y3 <= 4
返回true
在此,我們假設a,b 都是變數
賦值運算子含義=
a = b
將b的值賦給a
+=a += b
等於a = a + b
-=a -= b
等於a = a - b
*=a *= b
等於a = a * b
/=a /= b
等於a = a / b
%=a %= b
等於a = a % b
**=a **= b
等於a = a ** b
//=a //= b
等於a = a // b
所謂的位運算就將我們常見的10進製數字,轉換為二進位制進行計算。
乙個數的二進位制數有三種型別,原碼、補碼和反碼。
原碼:第一位為符號位,後面為該數的真數形式(符號位為0則為整數,符號位為1則為負數)
反碼:當原碼為正時,其反碼就是原碼,當原碼為負時,其反碼就是符號位不變,剩餘位按位取反
補碼:當原碼為正時,其補碼就是原碼,當原碼為負時,其補碼就是在反碼的基礎上最後一位+1
#3和-3的原碼
0000
0011=3
1000
0011=-
3#3和-3的反碼
0000
0011
1111
1100
#3和-3的補碼
0000
0011
1111
1101
按位取反~1=
0~0=
1~1110
0111
=0001
1000
按位取與#都為1,&才為11&
1=11
&0=0
0&1=
00&0
=01010
1010
&0101
0111
=0000
0001
按位取或操作#有乙個為1,|就為11|
1=11
|0=1
0|1=
10|0
=01010
1010
|0101
0110
=1111
1110
按位取異或#兩個數相同為0,相異為11^
1=11
^0=1
0^1=
10^0
=01010
1010
^0101
0110
=1111
1110
左移操作#num << i表示將num左移i位
0001
0001
<<2=
0100
0100
右移操作#num << i表示將num左移i位
0001
0001
>>2=
0000
0100
利用位運算快速計算n<<
1#表示n*2
n>>
1#表示n/2,注意當該數為負奇數時不可用
n>i #表示n/(2^n),注意當該數為負奇數時不可用
題目:給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。
思路:利用相同元素的數字異或為0,0與任何數異或等於任何數。將陣列內所有的數進行異或,最終的結果就是那個只出現一次的元素。
class
solution
:def
singlenumber
(self, nums: list[
int])-
>
int:
return
reduce
(lambda x, y: x ^ y, nums)
Task01變數 運算子 資料型別及位運算
變數 在python中,儲存乙個資料,需要乙個叫做變數的東西 name tom name就是乙個變數,就好乙個小菜籃子 age 26 age也是乙個變數 運算子 算術運算子 賦值運算子 復合賦值運算子 邏輯運算子 位運算子 比較 即關係 運算子 1 算術運算子 運算子 描述 例項 加 兩個物件相加 ...
Task 1 變數 運算子 資料型別及位運算
1 1.怎樣對python中的 進行注釋?答 用來單行注釋,或 用來多行注釋 2 python有哪些運算子,這些運算子的優先順序是怎樣的?答 python有算術運算子 比較運算子 邏輯運算子 and or not 位運算子 三元運算子 small x if x y else y 其他運算子 is,n...
Task01 變數 運算子 資料型別及位運算
注釋 在 python 中,表示注釋,作用於整行。或者 表示區間注釋,在三引號之間的所有內容被注釋。運算子算術運算子 比較運算子 邏輯運算子 位運算子 三元運算子 其他運算子 注意 is,is not 對比的是兩個變數的記憶體位址 對比的是兩個變數的值 比較的兩個變數,指向的都是位址不可變的型別 s...