Python基礎(二) 最簡單易懂的基礎篇——Python資料型別定義和分類

李楊豐發表於2020-12-14

上篇講了Python的變數命名、運算子、幫助文件


下面簡單介紹資料型別和資料型別的分類

0. type()

可以檢視變數是什麼資料型別
用法:type(變數名)

1. 非容器資料型別

1.1 Int 整型

Python的Int 整型定義 不再有長整型,當資料位數超長後,記憶體中自動轉換為長整型

varInt = 5
print(type(varInt)) # <class 'int'>
1.2 Float 浮點型

預設17位精度,即小數點後16位,位數越多精度越差,超過精度的數字無意義

varFloat = 1.5
print(type(varFloat)) # <class 'float'>
1.3 Bool 布林型別

只有True和False兩個值

aBool = True
print(type(aBool)) # <class 'bool'>

布林值為False的幾種情況:

  • None
  • False
  • 所有值為0的數
  • 空字串 ’ ’
  • 空列表 []
  • 空元組 ()
  • 空字典 {}
  • 空集合 set()

2. 容器資料型別

2.1 String 字串型別
2.1.1定義

只要使用引號(‘xx’, “xx”, “”“jjj”"", ‘’‘xxx’’’) 引起來的資料就叫做字串

varStr = 'hello'
varStr = "Hello"
varStr = '''
    Hello World...
'''
varStr = """
    Hello World...
"""
print(type(varStr)) # <class 'str'>
2.1.2 字串的索引

String 字串根據索引獲取相應的元素

varStr = 'Hello'
'''
索引位置
 -5 -4 -3 -2 -1
  H  e  l  l  o
  0  1  2  3  4  
'''
print(varStr[0]) # H
print(varStr[-4]) # e
print(varStr[4]) # o
2.1.3 字串的長度

len()函式獲取字串的長度

print(len(varStr)) # 5
2.1.4 字串的切片操作

切片: 根據索引的範圍獲取一部分資料
切片的使用格式
資料[起始下標:結束下標:步長]
提示:起始下標預設0,結束下標是不包含,步長預設是1

varStr = 'Hello'
'''
索引位置
 -5 -4 -3 -2 -1
  H  e  l  l  o
  0  1  2  3  4  
'''
print(varStr[0:2]) # He
print(varStr[:3]) # Hel
print(varStr[2:]) # llo
print(varStr[::]) # Hello
print(varStr[::-1]) # olleH
print(varStr[-5:-1:2]) # Hl
print(varStr[-1:-5:-2]) # ol
2.2 List 列表
2.2.1 定義

列表: 以中括號表現形式的資料集合, 比如: [1, 4]
提示:

  • 列表裡面可以放入任意型別資料,
  • c語言中的陣列必須是同一個型別
  • 建議以後儲存同一型別(避免處理資料的時候麻煩)
  • int nums[] = [1,2,3]
# 定義的方法
varList = ['H','e','l','l','o']
# list構造器建立
varList = list('Hello')
2.2.2 根據索引獲取元素

與字串同理

varList = ['H','e','l','l','o']
'''
索引位置
 -5  -4  -3  -2  -1
['H','e','l','l','o']
  0   1   2   3   4  
'''
print(varList[0]) # H
print(varList[-4]) # e
print(varList[4]) # o
2.2.3 列表的長度

與字串同理

varList = ['H','e','l','l','o']
print(len(varList)) # 5
2.2.4 列表的切片操作

與字串同理

varList = ['H','e','l','l','o']
'''
索引位置
 -5  -4  -3  -2  -1
['H','e','l','l','o']
  0   1   2   3   4  
'''
print(varList[0:2]) # ['H', 'e']
print(varList[:3]) # ['H', 'e', 'l']
print(varList[2:]) # ['l', 'l', 'o']
print(varList[::]) # ['H', 'e', 'l', 'l', 'o']
print(varList[::-1]) # ['o', 'l', 'l', 'e', 'H']
print(varList[-5:-1:2]) # ['H', 'l']
print(varList[-1:-5:-2]) # ['o', 'l']
2.3 Tuple 元組
2.3.1 定義

元組:以小括號表現形式的資料集合, 比如: (1, 4, ‘abc’)
注意:

  • 元組可以存放任意資料
  • 有順序(索引)
  • 不能對元組進行資料的修改
# 定義的方法
varTuple = 'H','e',
varTuple = 'H','e','l'
varTuple = ('H','e')
2.3.2 根據索引獲取元素

與字串同理

varTuple = ('H','e','l','l','o')
'''
索引位置
 -5  -4  -3  -2  -1
('H','e','l','l','o')
  0   1   2   3   4  
'''
print(varTuple[0]) # H
print(varTuple[-4]) # e
print(varTuple[4]) # o
2.3.3 獲取元組的長度

與字串同理

varTuple = ('H','e','l','l','o')
print(len(varTuple)) # 5
2.3.4 元組的切片操作

與字串同理

varTuple = ('H','e','l','l','o')
'''
索引位置
 -5  -4  -3  -2  -1
('H','e','l','l','o')
  0   1   2   3   4  
'''
print(varTuple[0:2]) # ('H', 'e')
print(varTuple[:3]) # ('H', 'e', 'l')
print(varTuple[2:]) # ('l', 'l', 'o')
print(varTuple[::]) # ('H', 'e', 'l', 'l', 'o')
print(varTuple[::-1]) # ('o', 'l', 'l', 'e', 'H')
print(varTuple[-5:-1:2]) # ('H', 'l')
print(varTuple[-1:-5:-2]) # ('o', 'l')
2.4 Dict 字典(無索引)
2.4.1 定義

字典: 以大括號表現形式的鍵值對資料的集合, 比如: {‘name’: ‘張三’, ‘age’: 18}
提示:

  • key一般都是字串(99%)
  • key只能是不可變型別:數字,字串,元組
  • 不能使用可變型別:[],{}
  • *key值在字典裡面是唯一的(字典裡面的內容無序的) *
  • key值重複,後者會覆蓋前者
# 使用{}定義
varDict = {'a':1,'b':2,'c':3,'a':4}
print(varDict) # {'a': 4, 'b': 2, 'c': 3}
# 使用dict構造器建立
varDict = dict(name='張三',age=17,sex='男')

2.4.1 根據key獲取元素
varDict = {1:'H',2:'e',3:'l',4:'l',5:'o'}
print(varList[1]) # H
print(varList[2]) # e
print(varList[5]) # o
2.4.2 獲取字典的長度

與字串同理

varDict = {'a':1,'b':2,'c':3}
print(len(varDict)) # 3
2.5 Set 集合
2.5.1 定義
  • 以大括號表現形式的資料集合
  • 不能有重複資料
  • 無序
  • False在集合中表示為0,所有False和0只能存在一個,1和True同理
varSet = set() # 表示空集合
varSet = {1,2,3,4,5}
2.5.2 獲取Set集合的長度

字串同理

varDict = {1,2,3,4,5}
print(len(varDict))# 5
3. 資料型別的分類

容器類資料型別:字串 列表 元組 字典 集合
非容器類資料型別 整型 浮點型 布林型

不可變資料型別:整型、字串、元組
可變資料型別:列表,集合,字典

有序:字串,列表,元組
無序:集合、字典

相關文章