[ Datawhale ] Python從入門到放棄
阿新 • • 發佈:2020-07-22
Task01:變數、運算子、資料型別及位運算
筆記
- is, is not 對比的是兩個變數的地址,==, != 對比的是兩個變數的值。
- bin(a) 可以把十進位制轉換為二進位制後輸出。
- 對於正數而言,不管是反碼還是補碼,都沒有變化;對於負數而言,反碼是符號位不變,其餘位取反,補碼等於反碼+1。
- 通過
^
來實現兩個整數的快速交換。 - 當
a
是正數的時候,-a
取得是補碼。 - 為了得到負數的補碼,需要手動將其和
0xffffffff
進行按位與操作,再交給bin()
進行輸出,得到的才是負數的補碼錶示。
練習題
-
怎樣對Python中的程式碼進行註釋?
單行註釋使用
#
,多行註釋使用"""
'''
。 -
Python有哪些運算子,這些運算子的優先順序是怎麼樣的?
運算子包括
+ - * / // % **
,一元優先順序大於二元的,其次,算術運算 > 移位運算 > 位運算。 -
Python中is,is not與==,!= 的區別是什麼?
is 和 is not比較的是兩個變數在記憶體中的地址,對於地址可變的元組等,兩個變數就不會想等。==和!=比較的就是兩個變數的值,無論地址可變不可變,我們人腦對比之後他們是相等的就是相等的。
-
Python中包含哪些資料型別?這些資料型別之間如何轉換?
資料型別type包括
int,float,bool,str,
轉換的話就只需要符合格式type + ()
-
Leetcode136:只出現一次的數字
這題在以前考研的時候做過,不過也還是看的題解。感覺位運算對於絕大多數人來說,雖然簡單好理解,但是是屬於比較靈活的題目,不太容易想到。
class Solution: def singleNumber(self, nums: List[int]) -> int: r = 0 for i in nums: r ^= i return r