2.Python數據類型 對於任何一種編程語言的學習,需要打好入門的基礎知識,在Python中常見的基礎知識有 基本數據類型 、 條件語句 、 迴圈語句 和 函數 ,更深層次需要掌握面向對象的知識。今天我們先來瞭解學習一下基礎知識,在Python常見的基本數據類型如下所示: 2.1 基本數據類型 2 ...
2.Python數據類型
對於任何一種編程語言的學習,需要打好入門的基礎知識,在Python中常見的基礎知識有基本數據類型、條件語句、迴圈語句和函數,更深層次需要掌握面向對象的知識。今天我們先來瞭解學習一下基礎知識,在Python常見的基本數據類型如下所示:
2.1 基本數據類型
2.1.1 布爾型
布爾型為(boolean)變數只能取兩個值True和False,如果把布爾變數用於數字計算的話,則1代表True,0代表False。示例代碼如下所示:
t=True
f=False
print(t+f)
print(1+t)
print(3+f)
運行結果如下所示:
1
2
3
除了直接給變數賦值True和False之外,還可以使用bool(variable)來創建變數,其中variable可以是
- 基本數據類型:整形、浮點型、布爾型等
- 容器數據類型:字元、元組、列表、集合和字典等
在Python中None、0、0.0、空值、空列表、空集合、空元組和空字典等都視為False
2.2.1 數字型
在Python中,常用的數字型都是內置數據類型,可以直接用來進行數學運算。如下所示:
2.2.1.1 整型
整型也即我們常說的整數類型的數據,如1,-1等。示例代碼如下所示:
a=100
b=-100
print(type(a),type(b))
運行結果如下所示:
<class 'int'> <class 'int'>
- 在Python,查看一個數據的類型可以使用函數type()
- 示例代碼查看數據類型輸出結果為 <class 'int'>,在Python一切皆為對象,因此整型也是一個類,而類就會相應的屬性和方法
在Python中通過dir(variable)和help(variable)可以查看variable對應的屬性和方法,如dir(int)
示例代碼如下所示:
a=100
print(a.__add__(100))
print(a.__divmod__(3))
運行結果如下所示:
200
(33, 1) # 返回結果為商和餘數
2.2.1.2 浮點型
浮點型也即我們常見的帶小數位的數字,如1.2,1.0987等,示例代碼如下所示:
a=1
b=1.
c=1.23
print(type(a),type(b),type(c))
運行結果如下所示:
<class 'int'> <class 'float'> <class 'float'>
在示例代碼中,加一個小數點即可創建一個浮點型數據類型,如果需要對小數位數進行控制,可以使用round()函數,如果對精度要求比較高,可以使用包decimal,預設精度為28位,如下所示:
decimal.getcontext()
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
2.2容器類數據類型
在前面介紹的布爾型、數字類型的數據都可以看成是單獨的數據,而這些數據都可以放在一個容器中進而得到一個容器類型的數據。如
- 字元型:可以看成是由很多個位元組組成的容器。位元組(char)這裡借用其他編程語言,Python中並未有此種數據類型,在其他語言中單個字元的數據稱之為char類型
- 元組 (tuple)、列表 (list)、字典 (dict) 和集合 (set) 可以看成是一個容器的任何類型變數
2.2.1 字元型
在Python中使用引號(單引號、雙引號、三引號)括起來的均為字元型,如'abc',"abc","""abc"""。示例代碼如下所示:
a="China"
b='China'
c="""China"""
print(type(a),type(b),type(c))
運行結果如下所示:
<class 'str'> <class 'str'> <class 'str'>
2.2.2 元組
在Python中元組的定義語法格式如下所示:
(item1,item2,...,itemn)
或
item1,item2,...itemn
- 這裡推薦第一種寫法
- 元組兩個關鍵點小括弧和逗號
創建元組示例如下所示:
a=1,2,3
b=(1,2,3)
c=(1,)
常見的元組一般為一維,也可以創建多維元組,如((1,2),(3,4))
2.2.3 字典
在Python字典的定義格式語法如下所示:
{
key1:value1,
key2:vallue2,
...
keyn:valuen,
}
- 字典中每個元素是key:value的形式成對出現
- 定義字典使用大括弧,每個鍵值對使用冒號進行分隔,不同的鍵值對之間使用逗號分隔
- 最後一個鍵值對後面的逗號可以省略,一般建議是不要省略,便於後面繼續添加元素
示例代碼如下所示:
d={
"beijing":"beijing",
"shanghai":"shanghai",
"jiangsu":"nanjing",
"zhejian":"hangzhou",
"hubei":"wuhai",
}
2.2.4 集合
在Python中,集合的定義形式有以下兩種方法:
{item1,item2,...itemn}
或
set(列表或元組)
- 在使用大括弧定義集合時,裡面的元素不能為空,否則則會變為字典類型
- 使用set()定義集合時,裡面必須為列表或元組
- 在集合中是不會出現重覆元素的,因此可以使用集合進行去重
示例代碼如下所示:
a={1,2,3,4,5}
b=(1,2,3,4,5)
c=set(b)
2.2.5 列表
在Python中,列表的定義格式如下所示:
[item1,item2,...,itemn]
- 列表使用中括弧進行定義,每個元素使用逗號進行分隔
示例代碼如下所示:
[1,2,3]
2.2.6 索引和切片
- 索引:代表指定對象所處的位置,在Python中索引從0開始,而不是1
- 切片:通常形式為startIndex : endIndex : step,這裡需要註意在取值時,是包含startIndex對應的元素,但不包含endIndex對應的元素,step為對應的步長(簡單來講是含前不含後)
- 索引是獲取單個元素,而切片則是獲取一組元素
索引可以為正值也可以負值,正索引從0開始,從左到右的形式取值,負索引從-1開始,從右向左路的形式取值。
以上詳細查看如下示意圖:
對於容器類型的數據類型而言,列表和元組是可以使用索引和切片來進行獲取指定的元素或元素組。
1.切片的通用寫法
startIndex : endIndex : step
- 以上這種寫法代表從指定索引startIndex開始,取值到指定索引endIndex,步長為step。但這三個值並不是每次必須要填寫,還可以省略掉
2.切片省略endIndex和step
startIndex :
- 以上這種寫法代表從索引startIndex開始,取值到末尾,步長為預設步長1
3.切片省略startIndex和step
: endIndex
- 以上這種寫法代表從索引0開始,取值到指定的索引endIndex位置,步長為預設步長1
4.省略step
startIndex : endIndex
- 以上這種寫法代表從指定索引startIndex開始,取值到指定的索引endIndex位置,步長為預設步長1
5.省略startIndex和endIndex
::step
- 以上這種寫法代表獲取所有元素,但步長為指定的步長step
6.全部省略
::
- 以上這種寫法代表獲取所有元素且預設步長為1
示例代碼如下所示:
a=[0,1,2,3,4,5,6,7,8,9]
print(f"[startIndex:endIndex:step] - {a[2:5:1]}")
print(f"[startIndex:] - {a[3:]}")
print(f"[:endIndex] - {a[:5]}")
print(f"[startIndex:endIndex] - {a[2:6]}")
print(f"[:step] - {a[::2]}")
print(f"[::] - {a[::]}")
print(f"[::step] - {a[::-1]}")
print(f"[startIndex:endIndex] - {a[-5:-3]}")
輸出結果如下所示:
[startIndex:endIndex:step] - [2, 3, 4]
[startIndex:] - [3, 4, 5, 6, 7, 8, 9]
[:endIndex] - [0, 1, 2, 3, 4]
[startIndex:endIndex] - [2, 3, 4, 5]
[:step] - [0, 2, 4, 6, 8]
[::] - [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[::step] - [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
[startIndex:endIndex] - [5, 6]
本文同步在微信訂閱號上發佈,如各位小伙伴們喜歡我的文章,也可以關註我的微信訂閱號:woaitest,或掃描下麵的二維碼添加關註: