程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

py2_Python 3 的六大數據類型

編輯:Python

##################################################

目錄

活動簡介

不可變數據類型

數字 Number

聲明及獲取數字數據類型

字符串 String

聲明及獲取字符串

截取字符串

拼接字符串

重復字符串

元組 Tuple

聲明和使用元組

元組可以包含可變對象

列表的取值以及 截取/拼接/重復

可變數據類型

列表 List

聲明列表

列表的取值以及 截取/拼接/重復

字典 Dictionary

字典的聲明

字典的取值

集合 Set

集合的定義

添加元素

移除元素

計算集合中元素的個數

清空集合

Other

列表元組字典集合的對比

Python 數據類型轉換


##################################################

活動簡介

活動地址:CSDN21天學習挑戰賽

學習的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾;一個人摸索學習很難堅持,想組團高效學習;想寫博客但無從下手,急需寫作干貨注入能量;熱愛寫作,願意讓自己成為更好的人…

歡迎參與CSDN學習挑戰賽,成為更好的自己,請參考活動中各位優質專欄博主的免費高質量專欄資源(這部分優質資源是活動限時免費開放喔~),按照自身的學習領域和學習進度學習並記錄自己的學習過程,或者按照自己的理解發布專欄學習作品!

##################################################

不可變數據類型

——————————

數字 Number

        Python 3 的數字類型有

int 長整型
float 浮點型
complex 復數
bool 布爾型

        在 Python 3 裡只有一種整數類型 int 長整型

        沒有 Python 2 中的 Long

        在 Python 2 中是沒有布爾型的

用數字 0 表示 False 假

用 1 表示 True 真

        到 Python 3 中把 True 和 False 定義成關鍵字了

        但她們的值還是 1 和 0

        她們可以和數字相加

%%%%%

聲明及獲取數字數據類型

        數字數據類型用於存儲數值 是不可改變的數據類型

        若改變數字數據類型會分配一個新的對象

        當指定一個值時 Number 對象就會被創建 如

>>> a = 521 /* 創建一個實力對象 值為 521 */
>>> a /* 查看 a 的值 */
521
>>> a = 520 /* 當改變 a 的值為 520 時 會為變量 a 重新分配對象 */
>>> a
520
>>> del a /* 可以使用 del 刪除對象的引用 */
>>> a /* 再次看就看不到了 */
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>>

——————————

字符串 String


        Python 的字符串或 串/String 是由

數字

字母

下劃線

        組成的一串字符

%%%%%

聲明及獲取字符串

        示例:

>>> str = "Love521"
>>> str
'Love521'
>>> 

        Python 字符串列表有 2 種取值順序

從左到右索引默認 0 開始的最大范圍是字符串長度少 1
從右到左索引默認 -1 開始的最大范圍是字符串開頭

        從左到右索引 從 0 開始:

>>> str /* 確定有 7 個元素 */
'Love521'
>>> str[0] /* 查看第一個元素 */
'L'
>>> str[1] /* 查看第二個元素 */
'o'
>>> str[6] /* 查看第七個元素 */
'1'
>>> 

        從右到左索引 從 -1 開始:

>>> str
'Love521'
>>> str[-1]
'1'
>>> str[-2]
'2'
>>> str[-3]
'5'
>>> str[-4]
'e'
>>> str[-5]
'v'
>>> str[-6]
'o'
>>> str[-7]
'L'
>>> 

        Python 字符串是不能通過下標的方式修改指定下標索引的字符值的:

>>> str
'Love521'
>>> str[0]
'L'
>>> str[0] = '!' /* 試圖將第一個元素值修改為感歎號 */
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> 

%%%%%

截取字符串

        從左到右:

>>> str_1 = str[:] /* 默認截取全部字符 */
>>> str_1
'Love521'
>>> str_1 = str[4:] /* 指定開始截取位置為第 5 個元素 */
>>> str_1
'521'
>>> str_1 = str[:5] /* 指定結束截取位置為第 6 個元素 */
>>> str_1
'Love5'
>>> str_1 = str[0:4] /* 指定截取范圍為第一個元素到第 5 個元素 */
>>> str_1
'Love'
>>> 

        從右到左:

>>> str_1 = str[:-1] /* 指定從右往左數第 1 個位置結束截取 */
>>> str_1
'Love52'
>>> str_1 = str[-3:] /* 指定從右往左數第 4 個位置開始截取 */
>>> str_1
'521'
>>> str_1 = str[-1:-1] /* 指定開始截取第一個元素 結束位置也是第一個元素 就是取第一個元素 */
>>> str_1
''
>>> 

%%%%%

拼接字符串

>>> str_1 = "LOVE"
>>> str
'Love521'
>>> str_1
'LOVE'
>>> str_2 = str + str_1
>>> str_2
'Love521LOVE'
>>> 

%%%%%

重復字符串

>>> str_3 = "1"
>>> str_3
'1'
>>> str_4 = str_3 * 5
>>> str_4
'11111'
>>> 

——————————

元組 Tuple

        Python 的元組類似於 list 列表

        元組不能二次賦值!!!相當於只讀列表

        元組用

()

        標識

        內部元素用逗號隔開

%%%%%

聲明和使用元組

>>> a = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 )
>>> a
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
>>> a[0] = 0 /* 元組不能二次賦值! */
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> 

        只有 1 個元素的元組則需要在元素後面添加逗號:

>>> a = ( 1 )
>>> b = ( 1, )
>>> a
1
>>> b
(1,)
>>> type(a) /* 可以看到類型為 int */
<class 'int'>
>>> type (b)
<class 'tuple'> /* 類型為元組 */
>>>

        空元組可以直接用小括號或者 tuple() 表示:

>>> a = ()
>>> b = tuple()
>>> a
()
>>> b
()
>>> type (a) /* 使用 type() 可以查看類型 */
<class 'tuple'>
>>> type (b)
<class 'tuple'>
>>> 

%%%%%

元組可以包含可變對象

        雖然元組的值不能改變 但是可以包含可變對象 例如包含一個 list 列表:

>>> a = [ '1', 'b', '.' ] /* 聲明一個 list 列表 */
>>> a
['1', 'b', '.']
>>> b = ( 1, a, 3 ) /* 元組包含列表 */
>>> b
(1, ['1', 'b', '.'], 3)
>>> 

%%%%%

列表的取值以及 截取/拼接/重復

        同字符串的取值截取拼接重復

        這邊不再詳細介紹 請自行搜索

##################################################

可變數據類型

——————————

列表 List

        Python 的列表可以完成大多數集合類的數據結構實現

        支持

數字

字符

字符串

        甚至可以包含列表

        即 嵌套列表 或者叫 多維列表 可以用來表示多維數組

        列表用

[]

        標識

        是 Python 中最通用的復合數據類型

%%%%%

聲明列表

>>> a = [] /* 空列表 */
>>> a
[]
>>> b = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] /* 數字列表 */
>>> b
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> c = [ 'A', 'b', '!' ] /* 字符列表 */
>>> c
['A', 'b', '!']
>>> d = [ "Love", "123", "[email protected])#" ] /* 字符串列表 */
>>> d
['Love', '123', '[email protected])#']
>>> e = [ a, b, [ 0, 1, 2 ] ] /* 集合列表 */
>>> e
[[], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2]]
>>> 

%%%%%

列表的取值以及 截取/拼接/重復

        同字符串的取值截取拼接重復

        這邊不再詳細介紹

        列表的截取可以有三個參數:

開始位置 結束位置 步長

        請自行搜索

——————————

字典 Dictionary

        字典 dictionary 是 Python 中除了列表之外最靈活的內置數據結構類型

        列表是有序的對象集合 而字典是無序的對象集合

        字典用

{}

        來標識

        字典由 索引/key 和所對應的 值/value 組成

%%%%%

字典的聲明

        需要注意:

鍵/key 必須使用不可變類型 例如 數字、字符串、元組

在同一個字典中的 鍵/key 必須是唯一的!!!

>>> a = {} /* 聲明一個字典 a */
>>> a [ 'name' ] = "崽崽" /* 字典 a 中聲明一個 'name' 鍵 對應的值為 "崽崽" */
>>> a['age']=14 /* 字典 a 中聲明一個 'age' 鍵 對應的值為 14 */
>>> a[ 'sex' ] = '女' /* 字典 a 中聲明一個 'sex' 鍵 對應的值為 '女' */
>>> a /* 查看字典內容 */
{'name': '崽崽', 'age': 14, 'sex': '女'}
>>> 

%%%%%

字典的取值

        字典當中的元素是通過鍵來存取的 而不是通過偏移存取!

>>> a['sex'] /* 獲取單獨的 'sex' 鍵所指向的值 */
'女'
>>> a [ 'name' ] /* 獲取單獨的 'name' 鍵所指向的值 */
'崽崽'
>>> a.keys() /* 查看鍵 */
dict_keys(['name', 'age', 'sex'])
>>> a.values() /* 查看值 */
dict_values(['崽崽', 14, '女'])
>>> 

——————————

集合 Set

        Python 的 集合/set 是由一個或數個形態各異的大小整體組成的
        構成集合的事物或對象稱作元素或是成員

        集合是一個無序的不重復的元素序列

%%%%%

集合的定義

        可以使用 {} 或者 set() 函數來創建一個集合

        創建一個空集合的話必須使用 set() 這個方法而不能使用 {}

        因為 {} 是用來創建空字典的

>>> a = { 1, 2, 3 }
>>> type (a)
<class 'set'>
>>> b = set()
>>> type(b)
<class 'set'>
>>> 

        set 函數只接受一個參數且該參數類型不為數字類型:

>>> a = [ 1, 2, ]
>>> b = set ( a )
>>> b
{1, 2}
>>> type (a)
<class 'list'>
>>> type (b)
<class 'set'>
>>> 

%%%%%

添加元素

        add() 將元素添加到集合中 如果元素已經存在 則不進行任何操作

        示例:

>>> a = set ( "Love" )
>>> a
{'L', 'e', 'o', 'v'}
>>> a.add("521")
>>> a
{'e', 'o', 'L', '521', 'v'}
>>> 

        update() 也可以添加元素 而且參數可以是列表元組字典等

        update 函數跟 add 方法不同在於是把要傳入的元素拆分成單個字符存於集合中並去掉重復的字符 可以一次添加多個值!

%%%%%

移除元素

        使用 remove() 來從集合中移除元素 如果移除前集合中本身就沒有這個元素 那麼就會報錯

        示例:

>>> a
{'e', 'o', 'L', '521', 'v'}
>>> a.remove( "521" )
>>> a
{'e', 'o', 'L', 'v'}
>>> 


        使用 discard() 來移除集合中的元素如過元素不存在也不會發生錯誤……

        使用 pop() 這個方法可以隨機刪除集合中的一個元素!!!!!!

%%%%%

計算集合中元素的個數

        使用 len() 計算集合中元素的個數

        示例:

>>> len(a)
4
>>> a
{'e', 'o', 'L', 'v'}
>>> 

%%%%%

清空集合

        使用 clear() 清空集合

        示例:

>>> a.clear()
>>> a
set()
>>> 

##################################################

Other

——————————

列表元組字典集合的對比

list 列表 [] 有序可改變集合 允許重復數據
tuple 元組 () 有序不可改變集合 允許重復數據
set 集合 {} 無序無索引集合 索引為鍵值 無重復數據
dictionary 字典 {} 無序 可變 有索引集合 無重復數據

——————————

Python 數據類型轉換

        最常見的轉換方法:

 int(參數) 轉化為一個整數 向下取整
示例:
>>> int ( 521.1314 )
521
>>>
float(參數) 轉化為一個浮點數
示例:
>>> float(521)
521.0
>>>
complex(參數列表) 轉化為一個復數
示例:
>>> a=1
>>> b=2
>>> complex(a,b)
(1+2j)
>>> complex(a)
(1+0j)
>>> 

        其她常見轉換方法:

str(參數) 轉化為一個字符串
repr(參數) 將對象轉換為表達式字符串
eval(參數) 計算字符串表達式得到結果
tuple(參數) 將序列轉化為一個元組
list(參數) 將序列轉化為一個列表
set(參數) 將序列轉化為可變集合 可用於列表去重
dict() 創建一個字典
frozenset(參數) 轉換為不可變集合
chr(參數) 將一個整數轉化為其 ASCII 碼對應的字符
ord(參數) 將一個字符轉化為一個整數該整數為對應的 ASCII 碼
hex(參數) 將一個整數轉換為一個十六進制字符串
oct(參數) 將一個整數轉換為一個八進制字符串


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved