1. 程式人生 > 其它 >python--變數&資料型別

python--變數&資料型別

變數

  1. 什麼是變數?

即變化的量,用於記錄事物的某種狀態,(模仿人類)

  1. 如何使用變數
    日常生活中:
姓名: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  # 不支援修改

變數三要素

  1. 變數的值
  2. 變數的記憶體地址 id
  3. 變數的型別 type

python底層優化

當資料量很小的時候,如果有多個變數名需要使用,那麼會指向同一塊地址
一個變數名只能指向一個記憶體地址,
一個記憶體地址可以有多個變數名指向

垃圾回收機制

python的垃圾回收機制以引用計數為主,分代回收為輔,

垃圾資料的定義

在記憶體中沒有任何變數名指向的資料

針對垃圾資料python開發了一套自動化回收方案

  1. 引用計數
    記憶體中變數值身上有幾個變數名繫結引用計數就是幾,只要不為0就不是垃圾,從而不被回收。
  2. 標記清除
    當記憶體即將佔滿的時候,python會自動暫停程式的執行,從頭到尾將記憶體中的資料進行掃描並打上標記,之後一次性清除掉標記的資料。
  3. 分代回收
    分代回收是一種以空間換時間的操作方式,Python將記憶體根據物件的存活時間劃分為不同的集合,每個集合稱為一個代,
    一般只有三代:
    1. 年輕代(第0代) 連結串列總數達到上限,回收機制觸發,可以被回收的被回收,不可以被回收的則去到中年代。
    2. 中年代(第1代) 以此類推,同上。
    3. 老年代(第2代)
      他們會將資料的監管分為三個層次,隨著層級的下降,監督的頻率降低

資料型別

什麼是資料型別?

在現實生活中儲存資料的方式和表現形式有很多
文字檔案 表格檔案 視訊檔案 音訊檔案 圖片檔案。。。
在IT世界裡資料的儲存方式和表現形式也是千變萬化的

資料型別之整型 int

# 白話表示 :整數
age = 18  # 這就是整型 int
print(type(age))  # <class 'int'>

資料型別之浮點型 float

# 白話表示 :小數
salary = 8200.5  # 這就是浮點型 float
print(type(salary))  # <class 'float'>

小結

整型與浮點型可以統稱為數字型別,主要用於數學運算和比較運算。