- 機器學習:基于OpenCV和Python的智能圖像處理
- 高敬鵬 江志燁 趙娜
- 1192字
- 2020-06-04 18:30:29
2.1 數據類型
根據數據所描述的信息,可將數據分為不同的類型,即數據類型。對于高級程序設計語言來說,其數據類型都明顯或隱含地規定了程序執行期間一個變量或一個表達式的取值范圍和在這些值上所允許的操作。
Python語言提供了一些內置的數據類型,在程序中可以直接使用。Python的數據類型通常包括數值型、布爾型、字符串型等最基本的數據類型,這也是一般編程語言都有的一些數據類型。此外,Python還擁有列表、元組、字典和集合等特殊的復合數據類型,這是Python的特色。
2.1.1 數值類型
數值類型一般用來存儲程序中的數值。Python支持三種不同的數值類型,分別是整型(int)、浮點型(float)和復數型(complex)。
1.整型
整型就是我們常說的整數,沒有小數點,但是可以有正負號。在Python中,可以對整型數據進行加(+)、減(-)、乘(*)、除(/)和乘方(**)的操作,如下所示。
>>>2 + 3 5 >>>5 - 3 2
>>>2 * 3 6 >>>6 / 2 3 >>>2 ** 3 8
另外,Python中還支持運算次序,可以在同一個表達式中使用多種運算,還可以使用括號來修改運算次序,如下所示。
>>>(2 + 3) * 2 10 >>>2 + 3 * 2 8
注意 在Python 2.x版本中有int型和long型之分。其中,int表示的范圍在-231~231-1之間,而long型則沒有范圍限制。在Python 3.x中,只有一種整數類型,范圍沒有限制。
2.浮點型
Python將帶小數點的數字都稱為浮點數。大多數編程語言都使用這個術語,它可以用來表示一個實數,通常分為十進制小數形式和指數形式。相信大家都了解5.32這種十進制小數。指數形式的浮點數用字母e或者(E)來表示以10為底的小數,e之前為整數部分,之后為指數部分,而且兩部分必須同時存在,如下所示。
>>>65e-5 0.00065 >>>6.6e3 660.0
對于浮點數來說, Python 3.x提供了17位有效數字精度。
另外請注意,上述例子的結果所包含的小數位數是不確定的,如下所示。
>>>5.01 *10 50.000999999999998
這種問題存在于所有的編程語言中,雖說Python會盡可能找到一種精確的表示方法,但是由于計算機內部表示數字的方式,在一些情況下很難做到,然而這并不影響計算。
3.復數型
在科學計算中經常會遇到復數型的數據,鑒于此,Python提供了運算方便的復數類型。對于復數類型的數據,一般的形式是a+bj,其中a為實部,b為虛部,j為虛數單位,如下所示。
>>>x = 5 + 8j >>>print(x) (5+8j)
在Python中,可以通過.real和.imag來查看復數的實部和虛部,其結果為浮點型,如下所示。
>>>x.real 5.0 >>>x.imag 8.0
2.1.2 字符串類型
在Python中可以使用單引號、雙引號、三引號來定義字符串,這為輸入文本提供了很大便利,其基本操作如下。
>>>str1 = "hello Python" >> print(srt1) Hello Python >>>print(str1[1]) #輸出字符串str1的第二個字符 e >>>str2 = "I'm 'LiHua'" #在雙引號的字符串中可以使用單引號表示特殊意義的詞 >>>print(str2) I'm 'LiHua'
在Python中,使用單引號或者雙引號表示的字符串必須在同一行表示,而三個引號表示的字符串可以多行表示,這種情況多用于注釋,如下所示。
>>>str3 = """hello Python! """ >>>print(srt3) Hello Python!
在Python中不可以對已經定義的字符串進行修改,只能重新定義字符串。
2.1.3 布爾類型
布爾(bool)類型的數據用于描述邏輯運算的結果,只有真(True)和假(False)兩種值。在Python中一般用在程序中表示條件,滿足為True,不滿足為False,如下所示。
>>>a = 100 >>> a < 99 False >>>a > 99 True