Python學習筆記:常用內置數據類型


Python內置數據類型概述

Python語言中,一切皆對象,而每個對象都屬於某個數據類型。Python的數據類型包括內置的數據類型、模塊中定義的數據類型和用戶自定義的類型

通過字面量或調用對象的構造方法,可以創建數據類型的實例對象,然後使用運算符、內置函數、系統函數和對象方法進行運算操作

數值數據類型

Python包括4種內置的數據類型:

  1. 整數類型(int),用於表示整數
  2. 布爾類型(bool),用於表示布爾邏輯
  3. 浮點類型(float),用於表示實數
  4. 複數類型(complex),用於表示複數

序列數據類型

序列數據類型表示若干有序數據。Python序列數據類型分爲:不可變序列數據類型和可變序列數據類型

不可變序列數據類型包括以下三種:

  1. 字符串(str),表示Unicode字符序列
  2. 元組類型(tuple),表示任意類型數據的序列
  3. 字節序列(Bytes),表示字節(8位)序列數據

可變序列數據類型包括

  1. 列表類型(list),表示可修改的任意類型的序列
  2. 字節數組(bytearry),表示可以修改的字節(8位)數組

集合數據類型

集合數據類型表示若干數據的集合,數據項目沒有順序,且不重複。Python集合數據類型包括以下兩種。

  1. 集(set)可變對象
  2. 不可變集(frozenset),不可變對象

字典數據類型

字典數據類型用於表示鍵/值對字典。Python內置的字典數據類型爲dict

int數據類型(任意精度整數)

整數數據類型(int)表示整數的數據類型。與其他計算機語言有精度限制不同,Python的整數位數可以爲任意長度位數(只受限制於計算機內存)。整型對象是不可變對象。

整型字面量

數字字符串(前面可以帶括號)即整型字面量。Python解釋器自動創建int型對象實例。數字字符串通常將解釋爲十進制(基數10)數制。可以用前綴表示其他進制的整數,跟在前綴後面的數字必須適合於數制

在這裏插入圖片描述

int對象

int是Python內置的數據類型。可以創建int類型的對象實例,其基本形式爲

int(x=0)         #創建int對象(十進制)
int(x,base=10)   #創建int對象,指定進製爲base(2~36之間)

通過創建int對象,可以把數值或任何符合格式的字符串或其他對象轉換爲int對象,注意,如果對象x不能轉換爲整型,則導致TypeError;如果對象x轉換失敗,則導致ValueError

int對象的方法

int對象i包含的主要方法如下:
i.bit_length()返回i的二進制位數,不包括字符

>>> i=-10
>>> bin(i)
'-0b1010'
>>> i.bit_length()
4
>>>

整數的運算

整數對象支持關係運算、算術運算,位運算符、內置函數、math模塊中的數學運算函數以及int對象方法

在這裏插入圖片描述

float類型(有限精度浮點數)

浮點型(float)是表示實數的數據類型。與其他計算機語言的雙精度(double)和單精度對應。Python浮點類型的精度與系統相關

浮點類型字面量

浮點類型字面量可以爲帶小數點的數字字符串,或用科學計數器表示的數字字符串(前面可以帶負號—),即浮點型字面量。Python解釋器會自動創建float型對象實例

在這裏插入圖片描述

float對象

float是python的內置數據類型,可以創建float類型對象實例,基本格式:float(x)

通過創建float對象,可以把數值或任何格式的字符串轉換爲float對象。
注意,如果對象x不能轉換爲float對象,將導致TypeError;如果對象x轉換失敗,將導致ValueError。特殊字符串InfinityInfinityNaN,分別用於表示正無窮大,負無窮大和非數值

float對象的方法

在這裏插入圖片描述

浮點數的運算

在這裏插入圖片描述

complex類型(複數)

複數類型字面量

當數值字符串中包含虛部(j或J)時,即複數字面量。Python解釋器自動創建complex類型對象實例

complex對象

complex是Python的內置數據類型,可以創建complex類型的對象實例,基本形式:complex(real[,imag]) #創建complex對象(虛部可選)

complex對象屬性和方法

在這裏插入圖片描述

複數的運算

在這裏插入圖片描述

bool數據類型(布爾邏輯值)

布爾值字面量

bool數據類型包含兩個值:True (真) 或 False (假)

>>> True,False
(True, False)
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
>>>

bool對象

可以創建bool類型的對象實例,其基本形式爲:bool(x),通過創建bool對象,可以把數值或任何符合格式的字符串或其他對象轉換爲bool對象

>>> bool(0)
False
>>> bool(1)
True
>>> bool('mochu')
True

邏輯運算符

邏輯運算符,即布爾運算符。用於檢測兩個以上的條件情況,即多個bool值的邏輯運算,其結果爲bool類型值。
邏輯運算符除邏輯非(not)是一元運算符,其餘均是二元運算符,用於將操作數進行邏輯運算符,用於將操作數進行邏輯運算,結果爲True或False

在這裏插入圖片描述

str數據類型(字符串)

字符串(str)是一個有序的字符集合。Python中沒有獨立的字符數據類型,字符即長度爲1的字符串。
Python內置數據類型str,用於字符串處理。str對象的值爲字符系列。str對象(字符串)是不可變對象

字符串字面量

使用單引號或雙引號括起來的內容,是字符串字面量,Python解釋器自動創建str型對象實例。Python字符串字面量可以使用以下4種方式定義。

  1. 單引號' ',包含在單引號中的字符串,其中可以包含雙引號。
  2. 雙引號" ",包含在雙引號中的字符串,其中可以包含單引號。
  3. 三單引號''' '''',包含在三單引號中的字符串,可以跨行。
  4. 三雙引號""" """,包含在三雙引號中的字符,可以跨行。

字符串編碼

Python3字符默認爲16位Unicode編碼,ASCII碼是Unicode編碼的子集,使用uU的字符串稱爲Unicode字符串,Python3默認認爲Unicode字符串。

使用內置函數ord()可以把字符轉換爲對應的Unicode碼;使用內置函數chr()可以把十進制數轉換爲對應字符

>>> ord('A')
65
>>> ord('末')
26411
>>> chr(26411)
'末'
>>>

轉義字符

特殊符號(不可打印字符)可以使用轉義序列表示。轉義序列以反斜杆開始,緊跟一個字母,如\n(新行)和\t(製表符)。如果字符串中希望包含反斜杆,則它前面必須還有另一個反斜槓

在這裏插入圖片描述

str對象

str是Python的內置數據類型,創建str類型的對象實例的基本形式爲:str(object='') #創建str對象,默認爲空字符串
通過創建str對象,可以把任意對象轉換爲str對象,返回object.__str__(),如果對象沒有定義__str__(),則返回repr(object)

str對象屬性和方法

使用str對象提供的方法,可以實現常用的字符串處理功能,str對象是不可變對象,故調用方法返回的字符串是新創建的對象。str對象的方法有兩種調用方式:字符串對象的方法和str類方法

>>> name='mochu'
>>> name.upper()
'MOCHU'
>>>
>>> str.upper(name)
'MOCHU'
>>> 

對象轉換爲字符串

使用內置函數str()可以把數值轉換爲字符串。實際上,使用print(123)輸出數值時。將自動調用str(123)函數,把123轉換爲字符串,然後輸出。

Python還提供了另一個內置函數repr(),函數repr()返回一個對象的更精準的字符表形式。大多數情況下,內置函數repr()str()的結果一致

字符串格式化

通過字符串格式化,可以輸出特定格式的字符串。Python字符串格式化包括以下幾種方式:

字符串.format(1,2,....)
str.format(格式化字符串1.1,2,.....)
format(,格式化字符串)
格式化字符串%(1,2,...)#兼容Python2格式
>>> "my name is {0}, my grade is {1}".format('mochu7',7)
'my name is mochu7, my grade is 7'
>>> str.format("my name is {0},my grade is {1}",'mochu7',7)
'my name is mochu7,my grade is 7'
>>> format(7.7,"0.5f")
'7.70000'
>>> "my name is %s,my grade is %s"%('mochu7',7)
'my name is mochu7,my grade is 7'
>>>

比較關係運算和條件表達式

關係和測試運算符

關係和測試運算符是二元運算符。關係運算符用於將兩個操作數的大小進行比較,若關係成立,則比較結果爲True,否則爲False

原則上,關係比較運算符應該是兩個相同類型的對象之間的比較,但是不同類型的對象也允許比較,會導致錯誤,但數值類型(包括布爾型,True會自動轉化爲1,False自動轉換爲0)

在這裏插入圖片描述

算術運算符和位運算符

算術運算符

Python提供了豐富的算術運算符,用於提供包括四則運算的各種算術運算運算

在這裏插入圖片描述

位運算符

位運算用於按二進制位進行邏輯運算,操作數必須爲整數

在這裏插入圖片描述

混合運算和數值類型轉換

隱式轉換

int、float和complex對象可以混合運算。如果表達式中包含complex對象,則其他對象自動轉換(隱式轉換)爲complex對象,結果爲complex對象;如果表達式中包含float對象,則其他對象自動轉換(隱式轉換)爲float對象,結果爲float對象

顯示轉換

顯示轉換又稱爲強制轉換,使用target-type(value)將表達式強制轉換爲所需的數據類型。如果未定義相應的轉換運算符,則強制轉換爲失敗。顯示轉換實際上使用目標類型的構造函數創建其對象。

int()float()bool(x)str(x),分別把對象轉換爲整數、浮點數、布爾值和字符串

內置標準數學函數

內置數學運算函數

在這裏插入圖片描述

數制轉換函數

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章