注釋
在 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 布林...