Python 變量類型
變量存儲在內存中的值。這就意味着在創建變量時會在內存中開闢一個空間。
基於變量的數據類型,解釋器會分配指定內存,並決定什麼數據可以被存儲在內存中。
因此,變量可以指定不同的數據類型,這些變量可以存儲整數,小數或字符。
python變量賦值
Python中的變量不需要聲明,變量的賦值操作既是變量聲明和定義的過程。
每個變量在內存中創建,都包括變量的標識,名稱和數據這些信息。
每個變量在使用前都必須賦值,變量賦值以後該變量纔會被創建。
等號(=)用來給變量賦值。
數據類型
python 5個數據類型
Numbers(數字)--->int
string(字符串) --->str
list(列表) --->list
Dictionary(字典)-->dict
Tuple(元組) --->tuple
字符串
字符串或串(String)是由數字、字母、下劃線組成的一串字符。
它是編程語言中表示文本的數據類型。
python的字串列表有2種取值順序:
從左到右索引默認0開始的,最大範圍是字符串長度少1
從右到左索引默認-1開始的,最大範圍是字符串開頭
列表
1.切片
List(列表) 是 Python 中使用最頻繁的數據類型。
列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至可以包含列表(所謂嵌套)。
列表用[ ]標識。是python最通用的複合數據類型。
列表切片爲左開有合(下標從0開始)
>>> list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] >>> list[0:2] #取前兩個數據 ['abcd', 786] >>> list[:2] #默認從0開始 ['abcd', 786] >>> list[::2] #後面的2是代表,每隔一個元素,就取一個 ['abcd', 2.23, 70.2] >>> list[4:] #取最後一個,不能寫-1 [70.2]
2.增加
>>> name.append("e") #添加到最後 >>> name ['a', 'c', 'b', 'd', 'e'] >>> name.insert(1,"f") #添加到指定位置 >>> name ['a', 'f', 'c', 'b', 'd', 'e']
3.刪除
>>> del name[2] #刪除列表位置 >>> name ['a', 'f', 'b', 'd', 'e'] >>> name.remove("e") #刪除列表內容 >>> name ['a', 'f', 'b', 'd'] >>> name.pop() #刪除最後一個 'd' >>> name ['a', 'f', 'b']
4.更改
>>> name ['a', 'f', 'b'] >>> name[2] = "e" >>> name ['a', 'f', 'e']
5.追加
>>> name ['a', 'f', 'e'] >>> name.append("d") >>> name ['a', 'f', 'e', 'd']
6.擴展
>>> name ['a', 'f', 'e', 'd'] >>> num [1, 2, 3] >>> name.extend(num) >>> name ['a', 'f', 'e', 'd', 1, 2, 3] >>> num [1, 2, 3]
7.獲取下標
['a', 'f', 'e', 'd', 1, 2, 3] >>> name.index(1) 4
字典
字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。
兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用"{ }"標識。字典由索引(key)和它對應的值value組成。
字典的特性:
dict是無序的
key必須是唯一的,so 天生去重
>>> dict = {'dept': 'sales', 'code': 6734, 'name': 'john'} >>> for i in dict: ... print(i,dict[i]) ... code 6734 dept sales name john >>> for i,v in dict.items(): #先把dict轉成list,數據裏大時莫用 ... print(i,v) ... code 6734 dept sales name john
更新和刪除:
直接用鍵值訪問更新:內建的update()方法可以將整個字典的內容拷貝到另一個字典中
del dic['a'] 刪除字典中鍵值爲a的元素 dic.pop('a') 刪除並返回鍵爲'a'的元素 dic.clear() 刪除字典所有元素 del dic 刪除整個字典 字典中的函數: len(),hash() 用於判斷某個對象是否可以做一個字典的鍵,非哈希類型報TypeError錯誤。 dict.clear() 刪除字典中的所有元素(字典變成空字典,但字典仍然存在) dict.fromkeys(seq,value=None) 以seq中的元素爲鍵創建並返回一個字典,val爲指定的默認值 dict.get(key,default=None) 返回key的value,如果該鍵不存在返回default指定的值 //dict.has_key(key) 【python2】 判斷字典中是否存在key,建議使用in和not in代替 dict.items() 返回鍵值對元組的列表 dict.keys() 返回字典中鍵的列表 dict.setdefault(key,default=None) 同set(),若key存在則返回其value,若不存在,則 dict[key]=default dict.update(dict2) 將dict2中的鍵值對添加到字典dict中,如果有重複覆蓋,原字典不存在的條碼添加進去 dict.values() 返回字典中所有值的列表
字典用法:
1. clear : 清空字典中的項
>>> ddict={}.fromkeys(('x','y'),-1) >>> ddict.clear() >>> ddict {}
2.fromkeys
使用給定的鍵建立新的字典,每個鍵默認對應的值爲None
>>> dict.fromkeys(['name','keys']) {'a': 'keys', 'n': 'keys', 'e': 'keys', 'm': 'keys'}
3.get
是個更加寬鬆的訪問字典項的方法,一般來說,如果試圖訪問字典中不存在的項會出錯
>>> d {'name': ['huazai', 'patrick', 'abc']} >>> print d['names'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'names' >>> print d.get('names') #無輸出
6.setdefault
在某種程度上類似於get 方法,就是能夠獲得與給定鍵相關聯的值,除此之外,setdefault 還能在字典中不含有給定鍵的情況下設置相應的鍵值。
>>> d={} >>> d.setdefault('name','N/A') 'N/A' >>> d {'name': 'N/A'} >>> d['name'] = 'pdadwa' >>> d {'name': 'pdadwa'} >>> d.setdefault('name','N/A') 'pdadwa' >>> d {'name': 'pdadwa'}