10.程式程式設計基礎4~變數&運算子
上一章講解過了組合資料型別,本章進行變數以及各種程式設計需要的運算子的操作講解
3.3 變數部分 3.4 運算子部分;主要講解:賦值運算子、算數運算子、關係運算子、邏輯運算子、成員運算子、標識運算子
3.3. 變數
變數就是用來臨時存放資料的一個容器
3.3.1 變數的使用
python中的變數,不需要宣告即可使用 python中的變數命名:駝峰命名法,見名知意,只能是字母、數字和下劃線組成,變數第一個字元智慧是字母或者下劃線 ```
stockCount = 12; # 意義:庫存數量 12
price = 499.00; # 意義:單價為499.00
_pi = 3.1415; # 意義:定義了圓周率pi為3.1415
$name = 'jerry' # 錯誤:變數中不能包含$符號
```
3.3.2 變數的回收
變數一旦定義,在程式中也是使用記憶體空間來儲存資料的,所以當變數一旦不在需要使用,需要刪除變數釋放它佔用的記憶體空間,python中通過del關鍵字來刪除變數 ```
stockCount = 12; # 使用庫存變數
del stockCount; # 刪除變數stockCoutn
print (stockCount) # 報錯,stockCount變數未定義
```
這裡一定要注意,在Python中,認為一切都是物件,所以變數進行賦值時,其實就是python在記憶體中建立了這個物件,然後將物件在記憶體中的地址儲存在變數中了。 ```
count = 100; # 記憶體中建立了一個物件,物件的資料是100
id(count);
結果:1867079904 # 表示count中存放的記憶體地址
count = 200; # 記憶體中建立了一個物件200
id(count)
結果:1867560352 # 表示此時count中存放的記憶體地址
```
注意1:python將所有的資料都儲存為記憶體物件,變數其實就是指向物件的一個引用,只要需要,就可以讓變數隨時引用一個不同的物件 注意2:python內建了函式type(),用於檢測給定資料的資料型別 注意3:使用賦值符=等號,用來將一個變數和記憶體中的物件繫結起來,如果物件在記憶體中存在就直接繫結,否則賦值運算子後面的物件會被即時建立之後進行繫結。
那就存在問題了,建立的100和200這兩個資料,記憶體中進行了什麼樣的處理的呢? python將這樣沒有引用變數指向的物件,回收到了物件緩衝池(PS:物件緩衝池也是記憶體中的一個區域),方便下次使用的時候直接獲取,所以在使用python的時候,一定要注意記憶體洩漏的問題。關於python記憶體管理這一部分,後續會單獨進行講解
3.3.3. 變數的命名規則
- 只能包含字母、數字、下劃線,且不能以數字開頭
- 變數名稱區分大小寫,name和Name就是兩個不同的變數
- 禁止使用python2和python3的保留字
3.3.4. 特殊變數
以一個下劃線開頭的變數名稱,不會被import語句匯入 前後各有下劃線的變數名,是系統定義的變數名,有特殊含義 互動模式下,單個下劃線中儲存了最後的輸出表示式的結果
3.4.操作符
操作符,就是用於進行資料運算的符號 常見的操作符一般有賦值運算子、算數運算子、邏輯運算子、關係運算子等等
3.4.1. 賦值運算子
| 運算子| 描述 | 使用方式 |
| ------------- |:-------------:| -----:|
| =| 直接賦值 | a = 2 給a賦值資料2 |
| +=| 加法賦值運算 | a += 2 a原來的資料加2再賦值給a |
| -=| 減法賦值運算 | a-=2 a原來的資料減去2再賦值給a |
| *= | 乘法賦值運算 | a*=2 a原來的資料乘以2再賦值給a |
| /= | 除法賦值運算 | a/=2 a原來的資料除以2再賦值給a |
| %= | 取餘賦值運算 | a%=2 a原來的資料除以2,將餘數賦值給a |
| **= | 次方賦值運算 | a**=2 將a原來的資料取2次方運算再賦值給a |
| //= | 地板除法運算 | a//=3 將a原來的資料地板除以3將結果賦值給a |
3.4.2. 算數運算子
| 運算子| 描述 | 使用方式 |
| ------------- |:-------------:| -----:|
| +| 加法運算 | 1 + 2 結果 3 |
| - | 減法運算 | 1 - 1 結果 0 |
| * | 乘法運算 | 12 * 12 結果 144 |
| / | 除法運算 | 10 / 3 結果 3.333333 |
| % | 取餘運算 | 10 / 3 結果 1 |
| ** | 次方運算 | 10 ** 2 結果 100 |
| // | 地板除法運算 | 10 // 3 結果 3 |
注意 在Python2中,除法運算和地板除法運算是一個結果 在python3中,除法運算和地板除法運算結果不一樣
3.4.3. 關係運算子
關係運算子,通過比較運算子兩邊的資料,返回一個布林型別的結果
| 運算子| 描述 | 使用方式 |
| ------------- |:-------------:| -----:|
| >| 大於運算 | 1> 2 結果 False |
| < | 小於運算 | 1 < 2 結果 True |
| >= | 大於等於運算 | 12 >= 12 結果True |
| <= | 小於等於運算 | 12 <= 11 結果 False |
|<> | 不等於運算 | 10 <> 3 結果 True |
| != | 不等於運算 | 等同於<> ,如10 != 10,結果False |
| == | 等於運算 | 10 == 3 結果 False |
3.4.4. 邏輯運算子
| 運算子| 描述 | 使用方式 |
| ------------- |:-------------:| -----:|
| and| 並且運算 | True and False 結果 False |
| or| 或者運算 | True or False 結果 True |
| not | 非運算 | not False 結果True |
注意 這裡的邏輯運算子,python中只有and|or|not,在其他語言中,也有類似&&、||、!的符號來表示and、or、not的三種關係的 and/&&:並且運算,當運算子兩邊的資料都為True才返回True,否則返回False or/||:或者運算,當運算子兩邊的資料都是False才返回False,否則返回True not/!:非運算,對結果進行取反,如果為True結果為False,如果為False則結果為True
3.4.5. 成員運算子
成員運算子,主要用於判斷某個成員是否出現在某個物件中
| 運算子| 描述 | 使用方式 |
| ------------- |:-------------:| -----:|
| in| 如果在指定的變數中找到則為True,否則為False| jiaoYue in heros |
| not in| 如果在指定的變數中沒有找到返回True | jiaoYue not in heros |
實際操作如下 ```
heros = ["皎月女神", "暴走蘿莉", "機械先驅", "九尾妖狐"]
feiCi = "潮汐海靈";
jiaoYue = "皎月女神";
feiCi in heros;
結果:False
jiaoYue in heros;
結果:True
```
3.4.6. 標識運算子
標識運算子,主要用於兩個不同的變數資料型別的檢測
| 運算子| 描述 | 使用方式 |
| ------------- |:-------------:| -----:|
| is| 如果運算子兩邊的變數指向相同的物件則為True| a is b |
| is not| 如果運算子兩邊的變數指向不同的物件則為True | a is not b |
```
a = 12;
b = 12;
a is b
結果:True
a is not b
結果:False
```
相關文章
- 黑馬程式設計師-Java基礎【1】(關鍵字,識別符號,常量,變數,運算子)程式設計師Java符號變數
- C++程式設計基礎(2)變數C++程式設計變數
- [.net 物件導向程式設計基礎] (6) 基礎中的基礎——運算子和表示式物件程式設計
- shell程式設計(二)運算子程式設計
- Java程式設計基礎03——進位制運算&資料型別&變數Java程式設計資料型別變數
- Java基礎知識(變數、資料型別、運算子)Java變數資料型別
- Java基礎:Java變數、資料型別、運算子(2)Java變數資料型別
- Java 基礎 之 算數運算子Java
- javascript基礎(算數運算子)(八)JavaScript
- [.net 物件導向程式設計基礎] (5) 基礎中的基礎——變數和常量物件程式設計變數
- python_4程式設計基礎Python程式設計
- 豬行天下之Python基礎——2.3 變數,常量,運算子Python變數
- Shell程式設計基礎學習之三:變數和test程式設計變數
- javascript基礎(賦值運算子,關係運算子,相等運算子,三元運算子,運算子的優先順序,程式碼塊)(十)JavaScript賦值
- 05-JavaScript基礎-算數運算子JavaScript
- 變數和運算子變數
- Go 基礎教程--4-常量與運算子Go
- Java 基礎-運算子Java
- == 運算子 - Java基礎Java
- 運算子的基礎
- 程式設計基礎程式設計
- 變數,運算子,if判斷變數
- Java基礎09:邏輯運算子、位運算子Java
- Python基礎程式設計(十六)——函式4Python程式設計函式
- [java基礎]之 運算子Java
- 1.2程式設計基礎之變數定義、賦值及轉換程式設計變數賦值
- Shell程式設計基礎學習之二:變數的基本認知程式設計變數
- stylus_基礎語法(引數/function/運算子)Function
- Socket程式設計基礎程式設計
- Go程式設計基礎Go程式設計
- Java程式設計基礎Java程式設計
- Shell程式設計-基礎程式設計
- C程式設計基礎C程式程式設計
- shell程式設計基礎程式設計
- CoeMonkey少兒程式設計第4章 變數程式設計變數
- JavaScript--變數和運算子JavaScript變數
- Python 變數與運算子Python變數
- 1.變數和運算子變數