好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Python基礎之數據類型詳解

Python基礎之數據類型詳解

熱門標簽:儋州電話機器人 所得系統電梯怎樣主板設置外呼 北瀚ai電銷機器人官網手機版 地圖標注面積 朝陽手機外呼系統 市場上的電銷機器人 北京電銷外呼系統加盟 佛山400電話辦理 小蘇云呼電話機器人

一、整數

python2中整形可以分為一般整形和長整形,但是在python3中,兩者以及合二為一了,只有整形。python中的整形是具有無限精度的(只有內存能放下),可以表示任意位數的數字。例如:

>>> 1111_2222_3333_4444_5555_6666_7777_8888_9999_0000
1111222233334444555566667777888899990000

python人性化的地方在于,上面的代碼中,我每四位做了一個分割,讓數字看起來很清晰。外國人可能更喜歡每3位做一個分割。

>>> 123_456_789
123456789
>>>

二、浮點數

浮點數在CPython中的標準實現是采用C語言中的雙精度類型(double)來實現,因此一個浮點數占8字節,這點對于python而言可能不重要。重要的是它是按照IEEE754標準實現的。例如:

>>> 1.234
1.234
>>> 1.23412313131231233
1.2341231313123124
>>> 1.231123E100
1.231123e+100

浮點數支持科學計數法寫法。

三、復數

python內部集成了復數類型,這對于坐標或者復變函數與積分變換計算而言可能提供了大大的方便,但是通常處理數值計算的時候,我們還是采用numpy庫。復數可以直接用1+1j類似的方式來直接初始化,也可以使用內建函數complex(real,imag)來創建一個復數。例如:

>>> a = 1+2j
>>> a
(1+2j)
>>> type(a)
class 'complex'>
>>> b = complex(2,2)
>>> b
(2+2j)
>>> 

當然了,python也提供了復數相關計算的實現,例如:

>>> b + a
(3+4j)
>>> a - b
(-1+0j)
>>> a * b
(-2+6j)
>>> a / b
(0.75+0.25j)
>>> 

四、運算符,優先級以及結合性

每一門語言都有自己所支持的運算符,運算符之間是有優先級的,操作數和運算符之間是由結合性的。一般而言,我們沒有必要清楚的記住每一個運算符直接的關系。這就要求在編寫程序的時候,多使用()來表達表達式的精確意義。例如:

>>> x = 1
>>> y = 2
>>> not x and y or y > x != 1
False

這樣的表達式就已經過于復雜了,不太好理解其中的邏輯。當然了,你的真實意圖可能如下:

>>> ((not x) and y) or (y > (x != 1))
True

這時候,結果就和上面的不一樣了,所以如果沒有必要,不要寫復雜表達式,如果寫了,那么請給復雜表達式加上()來精確的表達你的意思。

五、混合類型計算

混合類型之間的計算結果總是向復雜的類型轉換。例如:

>>> num = 1 + 2.3
>>> type(num)
class 'float'>
>>> num =  1 + (2 + 3j)
>>> type(num)
class 'complex'>

六、除法

在python3中除法可以分為正常除法和取整除法兩種。由于python2已經停止了支持,本專欄的所有內容將只針對python3。
/:現在python3中的/總是執行真除法,無論操作數的類型是什么。執行結果總是包含小數部分。
//:執行向下取整除法,如果操作數都是整數,那么結果將會是整數;如果其中任意一個操作數是浮點數,那么執行結果將會是浮點數。
仔細看下面的例子:

>>> 3 / 2
1.5
>>> 3.0 / 2
1.5
>>> 3 // 2
1
>>> 3.0 // 2
1.0

盡管,我們可能很少書寫包含最后一種情形的表達式,但是我們需要注意它的結果,它仍舊是先執行向下取整除法,然后加上小數部分。再來看下面的例子,來證實這確實是向下取整除法。

>>> -2.9 // 1
-3.0
>>> -2.1 // 1
-3.0

七、十進制,八進制,十六進制和二進制

python中默認字面值是10進制,也可以使用下面的方式來產生其它進制的字面值

>>> 0o12    # 8進制
10
>>> 0xA     # 16進制
10
>>> 0b10    # 2進制
2

它們都是以0開頭,8進制跟字母o(大小寫都可以),16進制跟字母x,2進制跟字母b;之后跟上數值部分即可。當然了,python也提供了相應的函數來完成進制直接的相互轉換。

>>> a = 3
>>> oct(a)      # 轉成8進制字符串
'0o3'
>>> hex(a)      # 轉成16進制字符串
'0x3'
>>> bin(a)      # 轉成2進制字符串
'0b11'
>>> int('0b10',2)       # 將2進制轉為10進制
2
>>> int('0xa',16)       # 將16進制  轉為10進制
10
>>> int('0o12',8)       # 將8進制   轉為10進制
10

int()函數(其實不是函數)用于將一個字符串或數字轉換為整型。該函數的用法如下:

int(x, base=10)

x是數值字符串,base是該數值字符串的進制,base擁有一個默認值10.
python中還有另外一個函數eval(),該函數將其中的字符串當做python代碼來執行,因此,它的效果如下:

>>> eval('0o12')
10
>>> eval('0xa')
10
>>> eval('0b10')
2

該函數運行的比較慢,因為他會將字符串作為程序的一個片段編譯運行,所以該函數使用的時候實際上存在著比較大的安全風險。

八、位操作

python也支持C語言的位操作,但是在大多數時候,我們是用不到的。下表是位操作運算符。

位運算符 功能
按位左移
>> 按位右移
| 按位或
按位與
^ 按位異或
~ 按位取反

其中值得一提的是,按位左移多少位就相當于給原數字乘上2的N次方,同理按位右移多少位就相當于給原數字除以2的N次方。在python中幾乎是不會用到位運算的。

九、集合

python中的集合也是數值類型,集合提供了樸素集合論中集合的基本功能。滿足確定性,互異性,無序性。需要特別注意的是,集合只包含不可變對象(可哈希的)類型,列表和字典是不能嵌入其中的,元組是可以的。但是集合本身是可變對象。關于集合的運算可以閱讀集合論相關知識。
下面的例子展示集合中的元素只能是不可變對象,但是集合本身是可變對象。

>>> a.add(1)
>>> a
{1}
>>> a.add("123")
>>> a
{'123', 1}
>>> b =  1,2
>>> a.add(b)
>>> a
{'123', 1, (1, 2)}

集合中添加數字,字符串,元組等不可變對象是沒有問題的。下面看一下添加可變對象會發生什么。

>>> 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哪一個,都會提示類型錯誤,不可哈希類型。

十、布爾類型

python提供了顯示的布爾類型,True和False是預置的兩個布爾值。實際上,True和False是bool的兩個實例,而bool只是內置類型int的子類。True和False的行為和1,0一致。bool為True和False重新定義了str和repr的字符串格式,所有打印出來就會顯示True和False,而不是1,0.
有意思的是python制定了1,0兩種情況下的顯示,沒有定義其余值的顯示。所以顯示的時候會發生下面的情況。

>>> True + 1
2

十一、其他數值類型

小數和分數類型都需要導入模塊來創建,在這里不做過多的介紹。它們相比于浮點數而言,是精確的。尤其是當你需要高精度計算的時候,這就十分有必要了,通常大多數場合下,我們都不怎么需要它們。

>>> 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) 

到此這篇關于Python基礎之數值類型詳解的文章就介紹到這了,更多相關Python數值類型內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python數據類型最全知識總結
  • Python中條件判斷語句的簡單使用方法
  • 詳解Python中的條件判斷語句
  • Python通用唯一標識符uuid模塊使用案例
  • python標識符命名規范原理解析
  • Python的數據類型與標識符和判斷語句詳解

標簽:云南 商丘 定西 金融催收 寧夏 酒泉 龍巖 江蘇

巨人網絡通訊聲明:本文標題《Python基礎之數據類型詳解》,本文關鍵詞  Python,基礎,之,數據,類型,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python基礎之數據類型詳解》相關的同類信息!
  • 本頁收集關于Python基礎之數據類型詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 风流教师黄| 日韩操| 国产精品色情国产三级工口| 大岛优香被义子侵犯| 深入花穴| videoxxoo欧美孕妇| 美女隐私无遮挡免视频| 人与野鲁交XXXⅩ免费视频| 高H 重口 激H 慎宫交H| 超级乱淫黄漫画免费| 欧美黄色一级视频| 免费的直播软件app| 公交车上双乳被老汉揉搓玩 | 亚洲一区二区网站| 终极高手第一季| 女子被粗大的??巴捣出白浆 | 趁老师睡着破了她的处| 免费观看国产大片资源视频| 免费精品人在线二线三线区别| 色窝窝51精品国产人妻消防| 国产精品99久久免费2021| 穿成失忆反派的恶毒伴侣| 国产一区二区精品丝袜| 情欲龟甲超市| 1区2区3区4区精华液c| 亚洲精品网址| 公夜夜的侵犯怀孕电影| xxxx性bbbb欧美| 牛鞭伸进女人下身视频| 1024手机国产永久看片你懂的| 国产69精品久久久久成人小说| 窝窝人体艺7777777| 免费h福利动漫网站在线| 麻豆精品成人免费国产片| 班里男生我内裤里动漫| 国产在线国偷精品产拍熟女| 白丝老师用腿夹得我好爽视频AV| 诱惑动图| 久久久久久精品免费免费看片| 欧美最新的精品videoss| 美国一级大黄一片免费网站|