1. 程式人生 > >Python基礎學習之常用六大資料型別

Python基礎學習之常用六大資料型別

剛開始學習一門程式語言,除了瞭解執行環境與語言型別之外,最基本還是從該語言的基本資料型別開始學起。

Python六大常用資料型別:

  1. int 整數
  2. float 浮點數
  3. str 字串
  4. list 列表
  5. tuple 元組
  6. dict 字典

講解這些先說一下python中的變數與變數名。變數其實本質上是一個具有特殊格式的記憶體,變數名則是指向這個記憶體的別名。python中的變數不需要宣告,所有的變數必須賦值了才能使用。賦值的步驟:

a = 100

第一步:準備好值100第二部:準備好變數名a第三部:將值與名字進行關聯

一、整數python將其他一些靜態語言中的int、long,也就是整型和長整型合併為了一個。python中的int是邊長的,也就是說可以儲存無限大的整數,但是這是不現實的,因為沒有這麼多的記憶體夠分配。整型不僅支援十進位制,還支援二進位制、八進位制、十六進位制。可以通過下面的方式來互相轉換:

print(bin(20)) #轉換二進位制
print(oct(20)) #轉換八進位制
print(hex(20)) #轉換十六進位制

二、浮點型浮點數也就是小數,如22.1,44.2,也可以使用科學計數法,比如:1.22e8。python支援對整數和浮點數直接進行四則混合運算。整數運算結果仍然是整數,浮點數運算結果仍然是浮點數,但整數和浮點數混合運算的結果就變成浮點數了。

a = 1
b = 1.1
print(type(a+b)) #<class 'float'>

三、字串字串在任何程式語言中都是最常用的資料型別。字串的建立很簡單,也是上面所說的三步,但是要加上單引號或者雙引號。

a = "hello python"

也可以使用 """ 建立多行字串:

a = """
    hello
    python
"""

字串可以通過下面方式進行擷取或者連線:

print (str[0:4])      輸出第一個到倒數第四個的所有字元
print (str[0])        輸出單字元 第1個字元
print (str[3:])       輸出從第四個開始之後的所有字元
print (str * 2)       輸出字串兩次
print (str + "bbbb")  連線字串

字串常用函式:str.strip() 消除字串s左右兩邊的空白字元(包括't','n','r','')len(str) 獲取字串長度str.upper() 轉換為大寫str.lower() 轉換為小寫str.title() 每個單詞首字母大寫str.capitalize() 首字母大寫字串翻轉:

a = 'abcde'
print(a[::-1])

字串分割:

a = 'hello,python'
print(a.split(',')) #['hello', 'python'] 返回一個列表

相對應的還有一個將列表元素連線成字串:

a = ['hello', 'python']
str = '-'
print(str.join(a)) # hello-python

四、列表列表的寫法是一個方括號內的值用逗號分隔。比如上面的['hello', 'python']。列表的資料項不需要具有相同的型別,列表中的每個元素都分配一個數字索引,第一個索引是0,第二個索引是1,依此類推。訪問列表中的值可以通過下面的方式:

list1 = [1, 2, 3, 4, 5, 6]
print(list1[2])

同樣可以通過索引擷取

print ("list1[2:5]: ", list1[2:5])

列表常用操作:list1.append('7') 追加一個元素在末尾,每次只能新增一個len(list1) 返回列表元素個數max(list1) 返回列表元素最大值min(list1) 返回列表元素最小值list1.count(obj) 統計某個元素在列表中出現的次數list1.index(obj) 從列表中找出某個值第一個匹配項的索引位置list1.reverse() 反向列表中元素list1.clear() 清空列表list1.extend(seq) 在列表末尾一次性追加另一個序列中的多個值,也就是擴充了列表append與extend的區別:

A = ['a', 'b', 'c']
A.append(['d', 'e'])
print(A) # ['a', 'b', 'c', ['d', 'e']]

B = ['a', 'b', 'c']
B.extend(['d', 'e'])
print(B) # ['a', 'b', 'c', 'd', 'e']

extend方法只能接收list型別,它是把這個列表中的每個元素新增到原list中。append可以接收任意型別,追加到原list的末尾。

五、元組元組的建立也很簡單,和list類似,只是把'[]'換成了'()'。

tup1 = ('hello', 'python')

元組中只有一個元素的時候要注意:

tup2 = (10)
tup3 = ('a')
print(type(tup2)) #<class 'int'>
print(type(tup3)) #<class 'str'>

因為這樣會被直譯器當做運算子,所以正確的方法是在第一個元素後面新增逗號。

tup4 = ('a',)
print(type(tup4)) #<class 'tuple'>

元組同樣可以使用下標索引來訪問元組中的值:

tup5 = ('hello', 'python', 'hello', 'word')
print(tup5[1]) #python
print(tup5[1:3]) #('python', 'hello')

注意:元組是不可以被修改的。

tup6 = ('hello', 'python', 'hello', 'word')
tup6[2] = 'aaa'

上面會出現一個異常: TypeError: 'tuple' object does not support item assignment但是元組中如果包含了一個列表,那麼這個列表是可以被修改的。

tup7 = ('hello', 'python', 'hello', 'word', ['aa', 'bb', 'cc'])
tup7[-1][1] = 'ddd'
print(tup7) # ('hello', 'python', 'hello', 'word', ['aa', 'ddd', 'cc'])

元組運算子:len(tup) 計算元素個數tup1 + tup2 連線生成新元組tup * 4 元組複製num in tup 元素是否存在,返回True/False

六、字典python中的字典就是key,value的形式。使用大括號包含起來。字典中的成員的鍵是唯一的,如果出現多個同名的鍵,那麼寫在後面覆蓋前面的值。形式如下:

dict1 = {'a' : 1, 'b' : 2}

字典的常用操作最基本的也就是增刪改查:獲取:直接通過鍵來獲取。

dict['b'] # 2

dict.keys() 獲取字典中所有的鍵dict.values()獲取字典中的所有的值增加:

dict1['c'] = 3 #{'a': 1, 'b': 2, 'c': 3} #如果鍵存在則更新對應的值

修改:直接給鍵進行再次賦值就可以修改鍵對應的值了。如果鍵不存在,則變成新增成員。還可以通過:

dict1.update({"a":"11"})
dict1.setdefault("a", "222") # 已存在的鍵則修改無效
dict1.setdefault("d","222") # 不存在的話則建立
dict1.setdefault("e") # 沒有設定值為None

刪除:使用pop刪除指定鍵對應的成員,同時返回該值

print(dict1) # {'a': '11', 'b': 2, 'c': 3, 'd': '222', 'e': None}
print(dict1.pop("a")) # a
print(dict1) # {'b': 2, 'c': 3, 'd': '222', 'e': None}
#在不設定預設值的情況下,使用pop刪除不存在的鍵,會報錯。
print(dict1.pop("f")) # 報錯 KeyError: 'f'

如果設定了預設值, print(dict1.pop("f", None)),則不會報錯,返回這個預設值。判斷是否刪除成功可以通過下面方式來判斷:

if dict1.pop("f", None) == None:
    print('鍵不存在')
else:
    print('刪除成功')

以上則是python中最基本的資料型別以及用法,當然還有其他的資料型別,作者暫時只列舉了這些。