| 位運(yùn)算符 | 功能 |
| 按位左移 | |
| >> | 按位右移 |
| | | 按位或 |
| 按位與 | |
| ^ | 按位異或 |
| ~ | 按位取反 |
其中值得一提的是,按位左移多少位就相當(dāng)于給原數(shù)字乘上2的N次方,同理按位右移多少位就相當(dāng)于給原數(shù)字除以2的N次方。在python中幾乎是不會(huì)用到位運(yùn)算的。
python中的集合也是數(shù)值類型,集合提供了樸素集合論中集合的基本功能。滿足確定性,互異性,無序性。需要特別注意的是,集合只包含不可變對象(可哈希的)類型,列表和字典是不能嵌入其中的,元組是可以的。但是集合本身是可變對象。關(guān)于集合的運(yùn)算可以閱讀集合論相關(guān)知識。
下面的例子展示集合中的元素只能是不可變對象,但是集合本身是可變對象。
>>> a.add(1)
>>> a
{1}
>>> a.add("123")
>>> a
{'123', 1}
>>> b = 1,2
>>> a.add(b)
>>> a
{'123', 1, (1, 2)}
集合中添加數(shù)字,字符串,元組等不可變對象是沒有問題的。下面看一下添加可變對象會(huì)發(fā)生什么。
>>> c = [1,2,3]
>>> a.add(c)
Traceback (most recent call last) :
File "stdin>", line 1, in module>
TypeError: unhashable type: 'list'
>>> d = {'1':1,'2':2}
>>> a.add(d)
Traceback (most recent call last) :
File "stdin>", line 1, in module>
TypeError: unhashable type: 'dict'
>>> e = set()
>>> a.add(e)
Traceback (most recent call last) :
File "stdin>", line 1, in module>
TypeError: unhashable type: 'set'
可以看到,無論是list,dict,set哪一個(gè),都會(huì)提示類型錯(cuò)誤,不可哈希類型。
python提供了顯示的布爾類型,True和False是預(yù)置的兩個(gè)布爾值。實(shí)際上,True和False是bool的兩個(gè)實(shí)例,而bool只是內(nèi)置類型int的子類。True和False的行為和1,0一致。bool為True和False重新定義了str和repr的字符串格式,所有打印出來就會(huì)顯示True和False,而不是1,0.
有意思的是python制定了1,0兩種情況下的顯示,沒有定義其余值的顯示。所以顯示的時(shí)候會(huì)發(fā)生下面的情況。
>>> True + 1 2
小數(shù)和分?jǐn)?shù)類型都需要導(dǎo)入模塊來創(chuàng)建,在這里不做過多的介紹。它們相比于浮點(diǎn)數(shù)而言,是精確的。尤其是當(dāng)你需要高精度計(jì)算的時(shí)候,這就十分有必要了,通常大多數(shù)場合下,我們都不怎么需要它們。
>>> from decimal import Decimal
>>> a = Decimal('0.1')
>>> a
Decimal('0.1')
>>> from fractions import Fraction
>>> b = Fraction(1,3) # 1是分子,3是分母
>>> b
Fraction(1, 3)
到此這篇關(guān)于Python基礎(chǔ)之?dāng)?shù)值類型詳解的文章就介紹到這了,更多相關(guān)Python數(shù)值類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:云南 商丘 定西 金融催收 寧夏 酒泉 龍巖 江蘇
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python基礎(chǔ)之?dāng)?shù)據(jù)類型詳解》,本文關(guān)鍵詞 Python,基礎(chǔ),之,數(shù)據(jù),類型,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。