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

2021-10-08 10:13:07 字數 2276 閱讀 5935

注釋

在 python 中,# 表示注釋,作用於整行。

『』』 『』』 或者 「」" 「」" 表示區間注釋,在三引號之間的所有內容被注釋。

運算子算術運算子

比較運算子

邏輯運算子

位運算子

三元運算子

其他運算子

注意:is, is not 對比的是兩個變數的記憶體位址

==, != 對比的是兩個變數的值

比較的兩個變數,指向的都是位址不可變的型別(str等),那麼is,is not 和 ==,!= 是完全等價的。

對比的兩個變數,指向的是位址可變的型別(list,dict等),則兩者是有區別的。

變數和賦值

在使用變數之前,需要對其先賦值。

變數名可以包括字母、數字、下劃線、但變數名不能以數字開頭。

python 變數名是大小寫敏感的,foo != foo。

資料型別與轉換

整型、浮點型、布林型

型別轉換:

轉換為整型 int(x, base=10)

轉換為字串 str(object=』』)

轉換為浮點型 float(x)

print() 函式

將物件以字串表示的方式格式化輸出到流檔案物件file裡。其中所有非關鍵字引數都按str()方式進行轉換為字串輸出;

關鍵字引數sep是實現分隔符,比如多個引數輸出時想要輸出中間的分隔字元;

關鍵字引數end是輸出結束時的字元,預設是換行符\n;

關鍵字引數file是定義流輸出的檔案,可以是標準的系統輸出sys.stdout,也可以重定義為別的檔案;

關鍵字引數flush是立即把內容輸出到流檔案,不作快取。

原碼、反碼和補碼

二進位制有三種不同的表示形式:原碼、反碼和補碼,計算機內部使用補碼來表示。

原碼:就是其二進位制表示(注意,最高位是符號位)。

反碼:正數的反碼就是原碼,負數的反碼是符號位不變,其餘位取反(對應正數按位取反)。

補碼:正數的補碼就是原碼,負數的補碼是反碼+1。

符號位:最高位為符號位,0表示正數,1表示負數。在位運算中符號位也參與運算。

00

000011-

>310

000011-

>

-3

00

000011-

>311

111100-

>

-3

00

000011-

>311

111101-

>

-3

按位非操作 ~

~ 把num的補碼中的 0 和 1 全部取反(0 變為 1,1 變為 0)有符號整數的符號位在 ~ 運算中同樣會取反。

00

000101-

>5~

---11

111010-

>-6

1111

1011

->-5

~---

0000

0100

->

4

按位與操作 &

只有兩個對應位都為 1 時才為 1在這裡插入**片按位或操作 |

按位異或操作 ^

1^1

=01^

0=10

^1=1

0^0=

0

按位左移操作 <<

num << i 將num的二進位制表示向左移動i位所得的值。

按位右移操作 >>

num >> i 將num的二進位制表示向右移動i位所得的值。

利用位運算實現快速計算

通過 <<,>> 快速計算2的倍數問題。

n <<1-

> 計算 n*

2n >>1-

> 計算 n/

2,負奇數的運算不可用

n << m -

> 計算 n*(2

^m),即乘以 2 的 m 次方

n >> m -

> 計算 n/(2

^m),即除以 2 的 m 次方

1<< n -

>

2^n

利用位運算實現整數集合

乙個數的二進位制表示可以看作是乙個集合(0 表示不在集合中,1 表示在集合中)。

比如集合 ,可以表示成 01 00 01 10 10 而對應的位運算也就可以看作是對集合進行的操作。

Task01 變數 運算子與資料型別

運算子資料型別 參考資料 例1 單變數賦值 str1 i love ncepu print str1 i love ncepu 例2 多變數賦值 a b c 1建立乙個整型物件,值為1,三個變數被分配到相同的記憶體空間上。python有五個標準的資料型別 其中,字串 列表 元組是序列 算術運算子有 ...

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

變數 在python中,儲存乙個資料,需要乙個叫做變數的東西 name tom name就是乙個變數,就好乙個小菜籃子 age 26 age也是乙個變數 運算子 算術運算子 賦值運算子 復合賦值運算子 邏輯運算子 位運算子 比較 即關係 運算子 1 算術運算子 運算子 描述 例項 加 兩個物件相加 ...

Task1 變數 運算子與資料型別

1.注釋 1 單行 表示注釋,作用於整行。2 多行 或者 表示區間注釋,在三引號之間的所有內容被注釋 2.運算子 1 算術運算子 2 比較運算子 3 邏輯運算子 4 三元運算子 4 位運算子 etc 很基礎的不列舉了 3.變數和賦值 4.資料型別與轉換 int整型 float 浮點型 bool 布林...