python--變數&資料型別
阿新 • • 發佈:2021-11-02
變數
- 什麼是變數?
即變化的量,用於記錄事物的某種狀態,(模仿人類)
- 如何使用變數
日常生活中:
姓名:duke
年齡:11
愛好:學習
程式中:
username = 'duke'
age = 11
hobbit = study
語法格式
username = 'duke'
底層原理(必須會!!!)
遇到賦值符號先看符號右邊的,再看左邊的
age = 18
1.在記憶體空間中申請一塊記憶體空間儲存18
2.將18所在的記憶體空間地址繫結給變數名age
3.之後如果要訪問18就通過變數名age訪問
變數的命名規範與風格
# 命名規範 1. 變數名只能由數字,字母,下劃線任意組合 user@name(不可以), 123name(不可以), _(可以,但是有特殊含義,指代這個變數指代的東西暫時用不到), pwd_123_aaa(可以) 2. 變數名不能以數字開頭,儘量也不要用下劃線開頭, 3. 變數名不能與關鍵字衝突 4. 變數的命名一定要左到見名知意(重要) '''變數名見名知意是核心,無論變數多長''' # 命名風格 1. 駝峰體 大駝峰 # 所有單詞首字母大寫 UserNameFromDb 小駝峰 # 第一首字母小寫,其餘首字母大寫 userNameFromDb '''JavaScript推薦使用駝峰體''' 2. 下劃線 user_name_from_db '''python推薦使用下劃線'''
常量
主要用於記錄一些不變的狀態,
在python中沒有真正意義上的常量,我們墨守成規的將全大寫的變數看成是常量,HOST = '127.0.0.1' # 一般情況下在配置檔案中使用的多。
在其他程式語言中是存在真正意義上的常量,定義了就無法修改如 JS:
const pi = 3.14 # 定義常量
pi = 4 # 不支援修改
變數三要素
- 變數的值
- 變數的記憶體地址 id
- 變數的型別 type
python底層優化
當資料量很小的時候,如果有多個變數名需要使用,那麼會指向同一塊地址
一個變數名只能指向一個記憶體地址,
一個記憶體地址可以有多個變數名指向
垃圾回收機制
python的垃圾回收機制以引用計數為主,分代回收為輔,
垃圾資料的定義
在記憶體中沒有任何變數名指向的資料
針對垃圾資料python開發了一套自動化回收方案
- 引用計數
記憶體中變數值身上有幾個變數名繫結引用計數就是幾,只要不為0就不是垃圾,從而不被回收。 - 標記清除
當記憶體即將佔滿的時候,python會自動暫停程式的執行,從頭到尾將記憶體中的資料進行掃描並打上標記,之後一次性清除掉標記的資料。 - 分代回收
分代回收是一種以空間換時間的操作方式,Python將記憶體根據物件的存活時間劃分為不同的集合,每個集合稱為一個代,
一般只有三代:- 年輕代(第0代) 連結串列總數達到上限,回收機制觸發,可以被回收的被回收,不可以被回收的則去到中年代。
- 中年代(第1代) 以此類推,同上。
- 老年代(第2代)
他們會將資料的監管分為三個層次,隨著層級的下降,監督的頻率降低
資料型別
什麼是資料型別?
在現實生活中儲存資料的方式和表現形式有很多
文字檔案 表格檔案 視訊檔案 音訊檔案 圖片檔案。。。
在IT世界裡資料的儲存方式和表現形式也是千變萬化的
資料型別之整型 int
# 白話表示 :整數
age = 18 # 這就是整型 int
print(type(age)) # <class 'int'>
資料型別之浮點型 float
# 白話表示 :小數
salary = 8200.5 # 這就是浮點型 float
print(type(salary)) # <class 'float'>
小結
整型與浮點型可以統稱為數字型別,主要用於數學運算和比較運算。