learing day 03
# Cpython回收機制
什麼是垃圾?
當一個值身上沒有繫結任何變名(該值引用計數=0)時,該值就一個垃圾
# 引用計數減少
del x # x的引用計數等於0
變數值三個特徵:
1: ID(反映的是記憶體地址),
2:type()
3:值
ID相同,值不一定相同
值相同,ID可以不同
小整數池的範圍(-5-512)
is 與 ==
==判斷值是否相同
is ID是否相同
==成立is不一定成立,is成立則==必須成立
可變不可變型別
可變型別:值改變,ID不變,證明就是在改變原值
不可變型別:值改變,ID以改變,證明根本不是在改變原值,是建立新值,原值是不可變的
在python3中只有一個input
特點:會將使用者輸入的任意內容都存為str型別
在python2中有一個raw_input用法跟python3中的input一樣
input要求使用者必須輸入一個明確的型別,輸入什麼型別就存什麼型別
###數字型別
資料型別的基本使用
1.整型int,記錄年齡,身份證號
定義:age= 10 # age=int(10)
print(type(age))
使用:四則運算和比較
2.浮點型float
作用:用來記錄身高體重,工資狀態等
定義:salary=3.1 #salary= float(3.1)
使用:四則運算和比較(整型和浮點型比較)
###字串型別
字串型別str
作用:用來記錄描述性質狀態,比如:具體住址,名字
定義:在單引號,雙引號,三引號內包含一系列的字元
使用:
字串拼接:+ 僅限於字串之間的拼接
* 可以與數字進行拼接,只能是數字
#####瞭解:字串可以比較大小:不比較長度,一個字母一個字母進行比較
###列表型別 list
作用:用來記錄多個值,用索引對應值,索引對應位置
定義:在[]內用逗號分隔開任意型別的值
有序
l=["a",9,[1,2,3]]
print(l)
使用:
print(l[0])
####字典型別 dict
作用:用來記錄多個值,用key對應value,value有描述性功能
字典是無順序的
定義:在{}內,用逗號分隔多元素,每一個元素都是key:value的形式,其中value可以是任意型別,key通常應該是str型別
使用:d={"x":0,"y":3.1}
print(d[][])
####布林型別
所有資料型別自帶BOOL型
布林值為假的資料,0,None,空(空字串,空列表,空字典,空元組)
True False
####None
基本運算子
< > <= >= == !=
邏輯運算子
and:連結左右兩個條件,只有兩個條件都成立時,and運算的結果為True
or:連結左右兩個條件,只要兩個條件成立任意一個時,or運算的結果為True
not:對條件取反,對緊跟其後的條件