學習Python第1天
阿新 • • 發佈:2020-12-21
技術標籤:python
Task 01:Python基礎入門:從變數到異常處理(第1天)
學習內容:變數、運算子與資料型別和位運算
變數、運算子與資料型別
- 註釋 :
在 Python 中,# 表示註釋,作用於整行;
‘’’ ‘’’ 或者 “”" “”" 表示區間註釋,在三引號之間的所有內容被註釋。 - 運算子 :
算術運算子
比較運算子
操作符 名稱 示例
> 大於 2 > 1
>= 大於等於 2 >= 4
< 小於 1 < 2
<= 小於等於 5 <= 2
== 等於 3 == 4
!= 不等於 3 != 5
邏輯運算子
操作符 名稱 示例
and 與 (3 > 2) and (3 < 5)
or 或 (1 > 3) or (9 < 2)
not 非 not (2 > 1)
位運算子
操作符 名稱 示例
~ 按位取反 ~4
& 按位與 4 & 5
` ` 按位或
^ 按位異或 4 ^ 5
<< 左移 4 << 2
>> 右移 4 >> 2
三元運算子
【例子】
有了這個三元操作符的條件表示式,你可以使用一條語句來完成以上的條件判斷和賦值操作。
![在這裡插入圖片描述](https://img.796t.com/res/2020/12-21/06/5162f21c6e6ac739b8b2a0a760a1eb7c.png)
其他運算子
![在這裡插入圖片描述](https://img.796t.com/res/2020/12-21/06/1602a57d250fadef7de9ee0e5b68aa18.png)
注意:
is, is not 對比的是兩個變數的記憶體地址;
==, != 對比的是兩個變數的值;
比較的兩個變數,指向的都是地址不可變的型別(str等),那麼is,is not 和 ==,!= 是完全等價的;
對比的兩個變數,指向的是地址可變的型別(list,dict,tuple等),則兩者是有區別的。
運算子的優先順序
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20201219102234217.png)
-
變數和賦值
在使用變數之前,需要對其先賦值。
變數名可以包括字母、數字、下劃線、但變數名不能以數字開頭。
Python 變數名是大小寫敏感的,foo != Foo。 -
資料型別與轉換
注:
type() 不會認為子類是一種父類型別,不考慮繼承關係。
isinstance() 會認為子類是一種父類型別,考慮繼承關係。
如果要判斷兩個型別是否相同推薦使用 isinstance()。型別轉換:
轉換為整型 int(x, base=10)
轉換為字串 str(object=’’)
轉換為浮點型 float(x) -
print() 函式 :
將物件以字串表示的方式格式化輸出到流檔案物件file裡。其中所有非關鍵字引數都按str()方式進行轉換為字串輸出;
關鍵字引數sep是實現分隔符,比如多個引數輸出時想要輸出中間的分隔字元;
關鍵字引數end是輸出結束時的字元,預設是換行符\n;
關鍵字引數file是定義流輸出的檔案,可以是標準的系統輸出sys.stdout,也可以重定義為別的檔案;
關鍵字引數flush是立即把內容輸出到流檔案,不作快取。
位運算
- 原碼、反碼和補碼 :
二進位制有三種不同的表示形式:原碼、反碼和補碼,計算機內部使用補碼來表示。
原碼:就是其二進位制表示(注意,有一位符號位)。
反碼:正數的反碼就是原碼,負數的反碼是符號位不變,其餘位取反(對應正數按位取反)。
補碼:正數的補碼就是原碼,負數的補碼是反碼+1。
符號位:最高位為符號位,0表示正數,1表示負數。在位運算中符號位也參與運算。 - 按位運算 :
按位非操作 ~
~ 把num的補碼中的 0 和 1 全部取反(0 變為 1,1 變為 0)有符號整數的符號位在 ~ 運算中同樣會取反。
按位與操作 &
只有兩個對應位都為 1 時才為 1,有0則為0.
按位或操作 |
只要兩個對應位中有一個 1 時就為 1,全為0則取0.
按位異或操作 ^
只有兩個對應位不同時才為 1,相同則取0.
異或操作的性質:滿足交換律和結合律
按位左移操作 <<
num << i 將num的二進位制表示向左移動i位所得的值。
按位右移操作 >>
num >> i 將num的二進位制表示向右移動i位所得的值。 - 利用位運算實現快速計算
通過 <<,>> 快速計算2的倍數問題。
n << 1 -> 計算 n*2
n >> 1 -> 計算 n/2,負奇數的運算不可用
n << m -> 計算 n*(2^m),即乘以 2 的 m 次方
n >> m -> 計算 n/(2^m),即除以 2 的 m 次方
1 << n -> 2^n
通過 ^ 快速交換兩個整數。 通過 ^ 快速交換兩個整數。
通過 a & (-a) 快速獲取a的最後為 1 位置的整數。
4. 利用位運算實現整數集合
一個數的二進位制表示可以看作是一個集合(0 表示不在集合中,1 表示在集合中)。
元素與集合的操作:
集合之間的操作:
注意:
整數在記憶體中是以補碼的形式存在的,輸出自然也是按照補碼輸出。