华南俳烁实业有限公司

python

當前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

python的這些類型?你都清楚嗎?

來源:中華考試網(wǎng)  [2020年9月16日]  【

  Python采用動態(tài)類型系統(tǒng)。在編譯的時候,Python不會檢查對象是否擁有被調(diào)用的方法或者屬性,而是直至運行時,才做出檢查。所以操作對象時可能會拋出異常。不過,雖然Python采用動態(tài)類型系統(tǒng),它同時也是強類型的。Python禁止沒有明確定義的操作,比如數(shù)字加字符串。

  與其它面向?qū)ο笳Z言一樣,Python允許程序員定義類型。構(gòu)造一個對象只需要像函數(shù)一樣調(diào)用類型即可,比如,對于前面定義的Fish類型,使用Fish()。類型本身也是特殊類型type的對象(type類型本身也是type對象),這種特殊的設(shè)計允許對類型進行反射編程。

  Python內(nèi)置豐富的數(shù)據(jù)類型。與Java、C++相比,這些數(shù)據(jù)類型有效地減少代碼的長度。下面這個列表簡要地描述了Python內(nèi)置數(shù)據(jù)類型(適用于Python 3.x):

類型
描述
例子
備注
str(string/字符串)
一個由字符組成的不可更改的有序串行。
'Wikipedia'
"Wikipedia"
"""Spanning
multiple
lines"""
在Python 3.x里,字符串由Unicode字符組成
bytes(字節(jié))
一個由字節(jié)組成的不可更改的有序串行。
b'Some ASCII'
b"Some ASCII"
在Python 2.x里,bytes為str的一種
list(列表)
可以包含多種類型的可改變的有序串行
[4.0, 'string', True]
tuple(元組)
可以包含多種類型的不可改變的有序串行
(4.0, 'string', True)
set, frozenset
與數(shù)學中集合的概念類似。無序的、每個元素唯一。
{4.0, 'string', True}
frozenset([4.0, 'string', True])
dict(字典)
一個可改變的由鍵值對組成的無序串行。
{'key1': 1.0, 3: False}
int(整數(shù))
精度不限的整數(shù)
42
float(浮點數(shù))
浮點數(shù)。精度與系統(tǒng)相關(guān)。
3.1415927
complex
復數(shù)
3+2.7j
bool
邏輯值。只有兩個值:真、假
True
False
builtin_function_or_method
自帶的函數(shù),不可更改也不可增加
print
input
type(類型)
顯示某個值的類型,用type(x)獲得
type(1) ->
type(‘1’) ->
range
按順序排列的數(shù)
range(10)
......list(range(10))->[0,1,2,3,4,5,6,7,8,9]
range(1,10)
......list(range(1,10))->[1,2,3,4,5,6,7,8,9]
range(1,10,2)
......list(range(1,10,2))->[1,3,5,7,9]
在Python 2.x中,range為builtin_function_or_method,獲得的數(shù)為list

  除了各種數(shù)據(jù)類型,Python語言還用類型來表示函數(shù)、模塊、類型本身、對象的方法、編譯后的Python代碼、運行時信息等等。因此,Python具備很強的動態(tài)性。

  數(shù)學運算

  Python使用與C、Java類似的運算符,支持整數(shù)與浮點數(shù)的數(shù)學運算。同時還支持復數(shù)運算與無窮位數(shù)(實際受限于計算機的能力)的整數(shù)運算。除了求絕對值函數(shù)abs()外,大多數(shù)數(shù)學函數(shù)處于math和cmath模塊內(nèi)。前者用于實數(shù)運算,而后者用于復數(shù)運算。使用時需要先導入它們,比如:

  >>> import math

  >>> print(math.sin(math.pi/2))

  1.0

  fractions模塊用于支持分數(shù)運算;decimal模塊用于支持高精度的浮點數(shù)運算。

  Python定義求余運行a % b的值處于開區(qū)間[0, b)內(nèi),如果b是負數(shù),開區(qū)間變?yōu)?b, 0]。這是一個很常見的定義方式。不過其實它依賴于整除的定義。為了讓方程式:b * (a // b) + a % b = a恒真,整除運行需要向負無窮小方向取值。比如7 // 3的結(jié)果是2,而(-7) // 3的結(jié)果卻是-3。這個算法與其它很多編程語言不一樣,需要注意,它們的整除運算會向0的方向取值。

  Python允許像數(shù)學的常用寫法那樣連著寫兩個比較運行符。比如a < b < c與a < b and b < c等價。C++的結(jié)果與Python不一樣,首先它會先計算a < b,根據(jù)兩者的大小獲得0或者1兩個值之一,然后再與c進行比較。

責編:hym
  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學歷考試
宜良县| 泰来县| 平昌县| 会泽县| 三台县| 巩留县| 昔阳县| 珲春市| 甘南县| 牙克石市| 明星| 金坛市| 新乐市| 水富县| 江源县| 松桃| 屏南县| 怀集县| 宝鸡市| 清原| 乡宁县| 诸暨市| 兴山县| 东阿县| 宜黄县| 瑞安市| 巢湖市| 牙克石市| 栾城县| 红安县| 宜黄县| 永寿县| 綦江县| 获嘉县| 区。| 衡阳市| 高平市| 荃湾区| 泊头市| 南漳县| 明光市|