1. 程式人生 > >Python3 基本資料型別

Python3 基本資料型別

數字(Number)型別

python中數字有四種類型:整數、布林型、浮點數和複數。

int (整數), 如 1, 只有一種整數型別 int,表示為長整型,沒有 python2 中的 Long。 bool (布林), 如 True。 float (浮點數), 如 1.23、3E-2 complex (複數), 如 1 + 2j、 1.1 + 2.2j Python3 支援 int、float、bool、complex(複數)。

在Python 3裡,只有一種整數型別 int,表示為長整型,沒有 python2 中的 Long。

像大多數語言一樣,數值型別的賦值和計算都是很直觀的。

內建的 type() 函式可以用來查詢變數所指的物件型別。

字串(String)

python中單引號和雙引號使用完全相同。 使用三引號(’’'或""")可以指定一個多行字串。 轉義符 ‘’ 反斜槓可以用來轉義,使用r可以讓反斜槓不發生轉義。。 如 r"this is a line with \n" 則\n會顯示,並不是換行。 按字面意義級聯字串,如"this " "is " "string"會被自動轉換為this is string。 字串可以用 + 運算子連線在一起,用 * 運算子重複。 Python 中的字串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。 Python中的字串不能改變。 Python 沒有單獨的字元型別,一個字元就是長度為 1 的字串。 字串的擷取的語法格式如下:變數[頭下標:尾下標] Python中的字串用單引號 ’ 或雙引號 " 括起來,同時使用反斜槓 \ 轉義特殊字元。

字串的擷取的語法格式如下:

變數[頭下標:尾下標] 索引值以 0 為開始值,-1 為從末尾的開始位置。

加號 + 是字串的連線符, 星號 * 表示複製當前字串,緊跟的數字為複製的次數。例項如下:

例項

#!/usr/bin/python3
 
str = 'Runoob'
 
print (str)          # 輸出字串
print (str[0:-1])    # 輸出第一個到倒數第二個的所有字元
print (str[0])       # 輸出字串第一個字元
print (str[2:5])     # 輸出從第三個開始到第五個的字元
print (str[2:])      # 輸出從第三個開始的後的所有字元
print (str * 2)      # 輸出字串兩次
print (str + "TEST") # 連線字串

執行以上程式會輸出如下結果:

Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
Python 使用反斜槓(\)轉義特殊字元,如果你不想讓反斜槓發生轉義,可以在字串前面新增一個 r,表示原始字串:

>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob
>>>

另外,反斜槓()可以作為續行符,表示下一行是上一行的延續。也可以使用 “”"…""" 或者 ‘’’…’’’ 跨越多行。

注意,Python 沒有單獨的字元型別,一個字元就是長度為1的字串。

例項

>>>word = 'Python'
>>> print(word[0], word[5])
P n
>>> print(word[-1], word[-6])
n P
與 C 字串不同的是,Python 字串不能被改變。向一個索引位置賦值,比如word[0] = 'm'會導致錯誤。

注意:

1、反斜槓可以用來轉義,使用r可以讓反斜槓不發生轉義。
2、字串可以用+運算子連線在一起,用*運算子重複。
3、Python中的字串有兩種索引方式,從左往右以0開始,從右往左以-1開始。
4、Python中的字串不能改變。

例項(Python 3.0+)

#!/usr/bin/python3
 
str='Runoob'
 
print(str)                 # 輸出字串
print(str[0:-1])           # 輸出第一個到倒數第二個的所有字元
print(str[0])              # 輸出字串第一個字元
print(str[2:5])            # 輸出從第三個開始到第五個的字元
print(str[2:])             # 輸出從第三個開始的後的所有字元
print(str * 2)             # 輸出字串兩次
print(str + '你好')        # 連線字串
 
print('------------------------------')
 
print('hello\nrunoob')      # 使用反斜槓(\)+n轉義特殊字元
print(r'hello\nrunoob')     # 在字串前面新增一個 r,表示原始字串,不會發生轉義

這裡的 r 指 raw,即 raw string。

輸出結果為:

Runoob
Runoo
R
noo
noob
RunoobRunoob
Runoob你好
------------------------------
hello
runoob
hello\nrunoob

標準資料型別 Python3 中有六個標準的資料型別:

Number(數字) String(字串) List(列表) Tuple(元組) Set(集合) Dictionary(字典) Python3 的六個標準資料型別中:

不可變資料(3 個):Number(數字)、String(字串)、Tuple(元組); 可變資料(3 個):List(列表)、Dictionary(字典)、Set(集合)。

List(列表)

List(列表) 是 Python 中使用最頻繁的資料型別。

列表可以完成大多數集合類的資料結構實現。列表中元素的型別可以不相同,它支援數字,字串甚至可以包含列表(所謂巢狀)。

列表是寫在方括號 [] 之間、用逗號分隔開的元素列表。

和字串一樣,列表同樣可以被索引和擷取,列表被擷取後返回一個包含所需元素的新列表。 List內建了有很多方法,例如append()、pop()等等,這在後面會講到。

注意:

1、List寫在方括號之間,元素用逗號隔開。 2、和字串一樣,list可以被索引和切片。 3、List可以使用+操作符進行拼接。 4、List中的元素是可以改變的。

Tuple(元組)

元組(tuple)與列表類似,不同之處在於元組的元素不能修改。元組寫在小括號 () 裡,元素之間用逗號隔開。

元組中的元素型別也可以不相同: string、list和tuple都屬於sequence(序列)。

注意:

1、與字串一樣,元組的元素不能修改。 2、元組也可以被索引和切片,方法一樣。 3、注意構造包含0或1個元素的元組的特殊語法規則。 4、元組也可以使用+操作符進行拼接。

Set(集合)

集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或物件稱作元素或是成員。

基本功能是進行成員關係測試和刪除重複元素。

可以使用大括號 { } 或者 set() 函式建立集合,注意:建立一個空集合必須用 set() 而不是 { },因為 { } 是用來建立一個空字典。

Dictionary(字典)

字典(dictionary)是Python中另一個非常有用的內建資料型別。

列表是有序的物件集合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典是一種對映型別,字典用"{ }"標識,它是一個無序的鍵(key) : 值(value)對集合。

鍵(key)必須使用不可變型別。

在同一個字典中,鍵(key)必須是唯一的。