1. 程式人生 > 實用技巧 >[ Datawhale ] Python從入門到放棄

[ Datawhale ] Python從入門到放棄

Task01:變數、運算子、資料型別及位運算

筆記

  1. is, is not 對比的是兩個變數的地址,==, != 對比的是兩個變數的值。
  2. bin(a) 可以把十進位制轉換為二進位制後輸出。
  3. 對於正數而言,不管是反碼還是補碼,都沒有變化;對於負數而言,反碼是符號位不變,其餘位取反,補碼等於反碼+1。
  4. 通過^來實現兩個整數的快速交換。
  5. a是正數的時候,-a取得是補碼。
  6. 為了得到負數的補碼,需要手動將其和0xffffffff進行按位與操作,再交給bin()進行輸出,得到的才是負數的補碼錶示。

練習題

  1. 怎樣對Python中的程式碼進行註釋?

    單行註釋使用#,多行註釋使用"""

    或者是'''

  2. Python有哪些運算子,這些運算子的優先順序是怎麼樣的?

    運算子包括+ - * / // % ** ,一元優先順序大於二元的,其次,算術運算 > 移位運算 > 位運算。

  3. Python中is,is not與==,!= 的區別是什麼?

    is 和 is not比較的是兩個變數在記憶體中的地址,對於地址可變的元組等,兩個變數就不會想等。==和!=比較的就是兩個變數的值,無論地址可變不可變,我們人腦對比之後他們是相等的就是相等的。

  4. Python中包含哪些資料型別?這些資料型別之間如何轉換?

    資料型別type包括int,float,bool,str,轉換的話就只需要符合格式type + ()

    即可。

  5. Leetcode136:只出現一次的數字

    這題在以前考研的時候做過,不過也還是看的題解。感覺位運算對於絕大多數人來說,雖然簡單好理解,但是是屬於比較靈活的題目,不太容易想到。

    class Solution:
        def singleNumber(self, nums: List[int]) -> int:
            r = 0
            for i in nums:
                r ^= i
            return r