Task01:變數、運算子、資料型別及位運算(2天)
阿新 • • 發佈:2020-07-22
day1變數、運算子與資料型別
目錄
1.註釋
2.運算子
3.變數和賦值
4.資料型別與轉換
5.print()函式
6.練習
一、註釋
單行註釋:#
多行註釋 :''' ''' 或者是 """ """ ,在單引號或者雙引號之間的內容被註釋,常用語多內容多行註釋
print('hi') #hi ''' 第一天 首次 打卡 ''' print('hi')
二、運算子
首先說一下運算子的優先順序
- 一元運算子優於二元運算子。例如
3 ** -2
等價於3 ** (-2)
。 - 先算術運算,後移位運算,最後位運算。例如
1 << 3 + 2 & 7
等價於(1 << (3 + 2)) & 7
- 邏輯運算最後結合。例如
3 < 4 and 4 < 5
等價於(3 < 4) and (4 < 5)
一元運算子有1個運算元。例bai如,遞增運算du符"++"就是一元運zhi算符,二元運算子有2個運算元。例如,除dao法運算子"/"有2個運算元
1.算術運算子
操作符 | 名稱 | 例子 |
+ | 加 | 1+1 |
- | 減 | 2-1 |
* | 乘 | 3*4 |
/ | 除 | 3/4 |
// | 地板除(即是支取整數位) | 3//4 |
% | 取餘 | 3%4 |
** | 冪 | 2**3 |
#算術運算子 print(1+1) #2 print(2-1) #1 print(3*4) #12 print(3/4) #0.75 print(3//4) #0 print(3%4) #3 print(2**3) #8
2.比較運算子:返回的是布林型,True或者False
操作符 | 名稱 | 例子 |
> | 大於 | 2>1 |
>= | 大於或等於 | 2>=4 |
< | 小於 | 1<2 |
<= | 小於或等於 | 5<=2 |
== | 等於(注意:=是賦值) | 3==4 |
!= | 不等於 | 3!=5 |
#比較運算子 print(2 > 1) # True print(2 >= 4) # False print(1 < 2) # True print(5 <= 2) # False print(3 == 4) # False print(3 != 5) # True
3.邏輯運算子:返回的也是布林型,True或者False
操作符 | 名稱 | 例子 |
and | 且 | (3>2) and (3<5) |
or | 或(只要一個正確就為正) | (1>3) or (9<2) |
not | 非 | not (2>1) |
#邏輯運算子 print((3 > 2) and (3 < 5)) # True print((1 > 3) or (9 < 2)) # False print(not (2 > 1)) # False
4.位運算子
操作符 | 名稱 | 例子 |
~ | 按位取反 | ~4 |
& | 按位且 | 4&5 |
| | 按位或 | 4|5 |
^ | 按位異或 | 4^5 |
<< | 左移 | 4<<2 |
>> | 右移 | 4>>2 |
#位運算子 print('~4={}, 4 & 5={}, 4 | 5={}, 4 ^ 5={}, 4 << 2={}, 4 >> 2={}'.format(~4,4 & 5,4 | 5,4 ^ 5,4 << 2,4 >> 2))#~4=-5, 4 & 5=4, 4 | 5=5, 4 ^ 5=1, 4 << 2=16, 4 >> 2=1
5.三元運算子
表示式1 if 條件表示式 else 表示式2 當表示式返回True時,返回結果表示式1,否則返回結果表示式2。示例: c = a if a < b else b
6.其他運算子
操作符 | 名稱 | 例子 |
in | 在 (返回布林型) | 'A' in ['A', 'B', 'C'] |
not in | 不在(返回布林型) | 'h' not in ['A', 'B', 'C'] |
is | 是(返回布林型) | "hello" is "hello" |
is not | 不是(返回布林型) | "hello" is not "hello" |
#in ,not in ,is ,is not l=list('abc') l1=list('abc') print(l,'a' in l,'a' not in l,'a' is l,l is l,l is l1,l is not l1) #['a', 'b', 'c'] True False False True False True #比較is,is not 和 ==,!= print(l==l1,l is l1,l!=l1,l is not l1) #True False False True
注意:
- is, is not 對比的是兩個變數的記憶體地址
- ==, != 對比的是兩個變數的值
- 比較的兩個變數,指向的都是地址不可變的型別(str等),那麼is,is not 和 ==,!= 是完全等價的。
- 對比的兩個變數,指向的是地址可變的型別(list,dict等),則兩者是有區別的
三、變數和賦值