1. 程式人生 > 實用技巧 >一篇文章帶你瞭解python的6大基本資料型別基礎篇

一篇文章帶你瞭解python的6大基本資料型別基礎篇

1.數字型(Number)

1.1 整型(int)

整型包括所有的正整數,負整數還有0。

在python中所有的整型資料全部預設採用十進位制進行表示,但我們還可以手動表示其他進位制的整型,具體表示如下:

# 表示十進位制整型,不能使用0d來表示,python不支援這種寫法
a = 100
# 表示二進位制整型:
a = 0b100010
# 表示八進位制整型:
a = 0o12333
# 表示十六進位制整型:
a = 0x1010

1.2 浮點型(float)

浮點型包括所有的小數
在python中所有的浮點型有小數表示形式和科學計數法形式,具體表示如下:

# 小數形式表示浮點數
a = 1.214
# 科學計數法表示浮點數
a = 6.7e4  # 表示6.7*(10**4)

1.3 複數型(complex)

在python中所有的複數型也有兩種表示方法,具體表示如下:

# 採用實數 + 虛數表示
a = 4+3j  # 4表示實部,3j表示虛部,4表示實數,3表示虛數
# 使用complex表示
a = complex(56,-3)  # 表示56-3j

2. 字元型(str)

用單引號或者三引號引起來的就是字元型,單引號引起來的字元型只能表示一行,而三引號引起來的可以表示多行,但在python字元型中存在一些特殊的有意義的字元,這些字元中含有轉義字元,基本常用的有如下幾個:

  • \r 將後面的字元拉到當前行行首
  • \n 換行
  • \r\n 換行
  • \ 轉移\,使\變得無意義
    為了解決在特殊的場景下防止轉義字元進行轉義,可以使用如下幾種方法:
  • 元字串,格式為r"字串"
  • 使用repr函式進行原型化輸出,方法repr('字串')
    除了轉義字元以外,字元型還有字串格式化操作,比如我們在做一張明信片的時候需改設計一個模板,然後到時候只需要填入明信片資訊就可以,因此只能通過字串格式化的操作來進行操作,示例如下:
"""
首先介紹一下字串格式化的基本佔位符
%d:整型佔位符
%f:浮點型佔位符
%s:字元型佔位符
基本語法:
'含有佔位符的字串' %(佔位符1的內容,佔位符2的內容...)
注意:在使用字串格式化的時候,必須要保持佔位符和填充內容的個數和資料型別一致,否則會發生報錯
"""
name = '小明'
age = 18
phone = 13300000033
add = '山東省濟南市某某區'
e_mail = '[email protected]'
hobby = '抓掃惱騷'
id_card = """
——————————————————————————————————————
               個人明信片
姓名:%s
年齡:%d
電話:%d
家庭住址:%s
個人郵箱:%s
興趣愛好:%s
——————————————————————————————————————
"""
print('id_card %(name, age, phone, add, e_mail, hobby)')  # 列印輸入的結果
'''
另外字串具有不可修改,可獲取,有序的特點,下面依次介紹字串的每個特點
1. 可獲取
在對字串進行獲取的時候可以使用索引或者切片
索引:在字串中每一個字元都與一個數字想對應,而從左到右數字編號依次為0,1,2,3,4..,但在python中有一種特有的負數索引,從右到左數字編號依次為-1,-2,-3....
切片:索引只能夠獲取一個,但可以利用切片獲取多個數據,語法為'字串'[索引開始下標:索引結束下標:步長],具體看案例
```python
str1 = '0123456789'
# 獲取4這個字元
str1[4]  # 正序索引獲取 
str1[-6]  # 反向索引獲取
# 獲取5以後的所有內容(包括5)
str1[5:]  # 使用正向索引進行切片
str1[-5:]  # 使用反向索引進行切片
# 獲取5以前的所有內容(包括5)
str1[:6]  # 明明上面利用下標5就能夠獲取到5這個字元,但為什麼在這裡要使用下標6呢?
str1[:-4]
# 獲取所有的奇數
str1[1::2]
str1[-9::2]
# 獲取15兩個數字
str1[1:6:4]
str1[-9:-5:4]
# 獲取所有數字
str1[:]
str1[0:]
str1[::]

在上面的案例中在獲取5以前的所有內容包括5的時候,下標為什麼使用6呢,答案就是在獲取的時候在結束索引下標的值是取不到的
2. 不可修改
由於字元型是不可變的資料型別因此不可以進行修改,如

str1 = '124'
str1[-1] = 3  # 直接報錯

3.有序
無論怎麼獲取字串,順序是不會打亂的,依次他是有序的

3. 列表(List)

用中括號括起來的元素就是列表,如[11,22,44,]
列表具有可修改,可獲取,有序的特點
可修改

lt = [1,2,3,4,5]
lt[2] = 6
print(lt)  # 結果[1,2,6,4,5]

4.元組

用小括號括起來的元素就是列表,如(11,22,44,),元組具有可獲取,不可修改,無序的特點
元組一旦被定義就不能被修改,如果元組中只有一個元組,後面必須跟一個逗號,否則元素的資料型別就是原來的那一個元素的資料型別

# 判斷下面的資料型別
(1,)  # 元組
('s')  # 字串
([1,23,4,5])  # 列表

5. 集合(set)

只使用大括號括起來的就是集合,集合具有不可獲取,無序,自動去重的特點
在定義一個空集合的時候,不能直接使用{},但是必須set()來定義一個空集合

6. 字典(dict)

只使用大括號括起來並且以鍵值對的形式儲存的就是字典,比如{'k1':'v1','k2':'v2'},字典的特點是以鍵值對儲存的資料,在python3.6之前,python中的字典是無序的,但是在python3.6之後,字典有序。
字典的鍵和集合中的值資料型別的要求是不可變資料,不能是可變型別
不可變資料主要有整型,字元型,元組,而可變的資料型別有列表,集合,字典