1. 程式人生 > 實用技巧 >Task01:變數、運算子、資料型別及位運算(2天)

Task01:變數、運算子、資料型別及位運算(2天)

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等),則兩者是有區別的

三、變數和賦值