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]
本文地址:https://www.cnblogs.com/surpassme/p/12927492.html
本文同步在微信訂閱號上發布,如各位小伙伴們喜歡我的文章,也可以關注我的微信訂閱號:woaitest,或掃描下面的二維碼添加關注:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/144257.html
標籤:Python
上一篇:Python基礎-01變數
下一篇:Python基礎-03字串
