首頁 >後端開發 >Python教學 >Python資料型別及運算子的詳細總結(程式碼範例)

Python資料型別及運算子的詳細總結(程式碼範例)

不言
不言轉載
2019-01-25 10:22:092606瀏覽

本篇文章帶給大家的內容是關於Python資料型態及運算子的詳細總結(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

前文講述了Python的輸入輸出以及變數的相關知識點,本節將探討Python的資料型態以及資料之間的運算方式!

一、Python資料類型

上一節弄清楚了變量,其實變數所指向的值是有自己獨特的資料類型的,這些資料類型可能代表不同的數據,在Python中,主要有以下幾種資料型態:

整形(int)

在電腦中,整數的位數其實是有範圍的,並沒有我們想像的那樣擁有無限的位數,而且,在不同的機器上整數的位數可能不同,例如:

32位系統:整數的位數就是32位,尋址範圍為:-231  ~  231-1 ,即-2147483648 ~ 2147483647

64位元系統:整數的位數就是64位,尋址範圍為:-263# ~ 263-1 ,即-9223372036854775808 ~ 9223372036854775807

長整形(長)

#在Python中,長整數整數並沒有指定整形位數,也就是說說,長整形整數可以無限大,但是由於機器本身的限制,往往並不能無限大,到一定範圍也就不行了。

浮點型(float)

上面兩種資料型態都是整數,但在實際上並不可能全是整數,還有小數啊,於是浮點型便應運而生,說白了浮點型就是小數,可以用科學計數,在計算機中,科學計數的倍數10用e代替,如:5.21x105 就寫成5.21e9,也可以寫成521e7

複數(complex)

上面三種資料型別組合起來是實數,其實科學計算中常常用到複數,在Python中,存在複數的資料型別,一般形式為:x yj,式中x,y都是實數,例如:5 6j

布爾值(True、False)

布爾值就兩個:真、假,Python中用True、False表示,一定要注意首字母大寫,Python中是區分大小寫的,一定要注意。

In [77]: 5==6
Out[77]: False
In [78]: 3>2
Out[78]: True
In [79]: True == True
Out[79]: True
In [80]: True == False
Out[80]: False

空值(None)

空值就一個:None,這個空值是很有趣的,None不可以理解為0,因為0不是空值,就好像溫度是攝氏0度一樣,0攝氏度是有溫度的( ̄▽ ̄)"

字串(str)

字串可能是寫Python中用到的最多的資料類型,只要是用引號引起來的就是字串。Python中是不區分單引號、雙引號和三引號的,他們是相同的:

##

In [81]: 'Hello,world!'
Out[81]: 'Hello,world!'
In [82]: "Hello,world!"
Out[82]: 'Hello,world!'
In [83]: '''Hello,world'''
Out[83]: 'Hello,world'

肯定有萌新會問,搞這麼多么蛾子乾啥,統一用一個不就完了,我就默默笑笑不說話:


In [84]: 'i'm MinuteSheep'
  File "<ipython-input-84-a2a810ee38cb>", line 1
    &#39;i&#39;m MinuteSheep&#39;
       ^
SyntaxError: invalid syntax

看!報錯了竟然,為什麼呢?因為Python會自動匹配最近的符號與之閉合,所以就會出現上面的情況,做如下修改:


In [85]: "i&#39;m MinuteSheep"
Out[85]: "i&#39;m MinuteSheep"

(萌新:你這個糟老頭子壞得很╰(‵□′)╯)

同樣的,三引號用於多行,或者內容符號混亂的情況:

In [87]: &#39;&#39;&#39;i&#39;m MinuteSheep,i said:"i&#39;m the best man in the world!"&#39;&#39;&#39;
Out[87]: &#39;i\&#39;m MinuteSheep,i said:"i\&#39;m the best man in the world!"&#39;
In [86]: &#39;&#39;&#39;
    ...: i&#39;m MinuteSheep,
    ...: i said:
    ...: "i&#39;m the best man in the world!"
    ...: &#39;&#39;&#39;
Out[86]: &#39;\ni\&#39;m MinuteSheep,\ni said:\n"i\&#39;m the best man in the world!"\n&#39;

完美解決,還記得\n是什麼嗎,是換行意思的啦,同樣你會發現i'm變成了i\'m,這其實是轉義的顯示,轉義以後會講到的啦

又有萌新出來作妖了,你上一節不是說三引號是多行註解嗎,這一節怎麼變成了字串啦?

這個問題問的好!看我的解釋,有圖有真相:

直接三引號內容,是註釋,只要將三引號內容賦給變量,就是字串

字串還有很多方法,之後會專門有一小節詳細的講解字串的方法。

列表(list)

對於列表,萌新可能會很陌生,你可以暫時把它理解為一維數組,列表的在Python中的使用次數也是相當多的,是除字符串以外必須掌握的一種數據類型。來看看列表長啥樣:

In [88]: [&#39;MinuteSheep&#39;, &#39;LiMing&#39;, &#39;123&#39;, 123]
Out[88]: [&#39;MinuteSheep&#39;, &#39;LiMing&#39;, &#39;123&#39;, 123]

#可以看到,被一對方括號括起來的資料就是列表,劉表裡面可以又其他資料類型,上面的列表包括:字串和整數型。當然,列表可以包含列表,稱為列表的嵌套:

In [89]: [&#39;MinuteSheep&#39;, [&#39;LiMing&#39;, 123]]
Out[89]: [&#39;MinuteSheep&#39;, [&#39;LiMing&#39;, 123]]

關於列表,還有很多具體的方法,這裡不一一介紹,之後也會有專門的一小節講解列表方法。

元組(tuple)

元組可能就更陌生了,元組其實是不可變列表,列表用一隊方括號括起來,元組則用一對圓括號括起來,列表是可以被操作的(比如增、刪、改、查),但是元組不行,元組不可被更改,來看看元組長啥樣哇:

In [90]: (&#39;MinuteSheep&#39;,&#39;LiMing&#39;,123)
Out[90]: (&#39;MinuteSheep&#39;, &#39;LiMing&#39;, 123)

#

字典(dict)

字典是Python的一种非常强大的数据类型,通过键值对的形式将数据保存下来,提高了数据增、删、改、查的速度,通常作为数据存储的格式,也来看看字典长啥样哇:

In [91]: {&#39;name&#39;: &#39;MinuteSheep&#39;, &#39;gender&#39; : &#39;male&#39;, &#39;age&#39;: 99}
Out[91]: {&#39;age&#39;: 99, &#39;gender&#39;: &#39;male&#39;, &#39;name&#39;: &#39;MinuteSheep&#39;}

可以看到,字典是用一对花括号括起来的,并且以 'key' : 'value' 的形式存储,同样,字典里面可以包含其他数据类型,上面的字典包括:字符串、整型。当然,字典也可以嵌套:

In [92]: {&#39;name&#39; : &#39;MinuteSheep&#39;, &#39;age&#39;: {&#39;young&#39; : 15, &#39;old&#39; : 99}}
Out[92]: {&#39;age&#39;: {&#39;old&#39;: 99, &#39;young&#39;: 15}, &#39;name&#39;: &#39;MinuteSheep&#39;}

字典也会有专门的一节去讲解它的方法。

二、Python数据运算

说完了Python的数据类型,就该数据运算了,养兵千日,用在一时嘛

算数运算

加 +

In [93]: 1+2
Out[93]: 3

减 -

In [95]: 1-2O
ut[95]: -1

乘 *

In [96]: 1*2
Out[96]: 2

除 /

In [97]: 5/2Out[97]: 2.5

取模 %  (就是取余数)

In [98]: 5%2
Out[98]: 1

取整 //

In [99]: 5//2
Out[99]: 2

幂 **

In [100]: 5**2
Out[100]: 25

赋值运算

简单赋值 =

In [102]: a=5
In [103]: b=6
In [104]: c=a+b
In [105]: c
Out[105]: 11

加法赋值 +=   (b+=a,相当于b=b+a)

In [106]: a=5
In [107]: b=6
In [108]: b+=a
In [109]: b
Out[109]: 11

减法赋值 -=   (b-=a,相当于b=b-a)

In [111]: a=5
In [112]: b=6
In [113]: b-=a
In [114]: b
Out[114]: 1

乘法赋值 *=   (b*=a,相当于b=b*a)

In [115]: a=5
In [116]: b=6
In [117]: b*=a
In [118]: b
Out[118]: 30

除法赋值 /=   (b/=a,相当于b=b/a)

In [119]: a=5
In [120]: b=6
In [121]: b/=a
In [122]: b
Out[122]: 1.2

取模赋值 %=   (b%=a,相当于b=b%a)

In [123]: a=5
In [124]: b=6
In [125]: b%=a
In [126]: b
Out[126]: 1

取整赋值 //=   (b//=a,相当于b=b//a)

In [127]: a=5
In [128]: b=6
In [129]: b//=a
In [130]: b
Out[130]: 1

幂赋值 **=   (b**=a,相当于b=b**a)

In [131]: a=5
In [132]: b=6
In [133]: b**=a
In [134]: b
Out[134]: 7776

比较运算

测试相等 ==

In [136]: 1==1
Out[136]: True
In [137]: 1==2
Out[137]: False

不等于 !=

In [144]: 1!=1
Out[144]: False
In [145]: 1!=2
Out[145]: True

大于 >

In [146]: 1>1
Out[146]: False
In [147]: 2>1
Out[147]: True

大于等于 >=

In [149]: 1>=1
Out[149]: True
In [150]: 2>=1
Out[150]: True

小于 ac77db810722e06238c4195a6de0512c>

In [213]: a = 15     # 15 = 0000 1111
In [218]: c = a>>2    # 3 = 0000 0011 
In [219]: c
Out[219]: 3#右移后面要加位数

Python运算符优先级(从高到底依次排列)

**                 # 指数 (最高优先级)
~ + -              # 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //           # 乘,除,取模和取整除
+ -                # 加法减法
>> <<              # 右移,左移运算符
&                  # 位 &#39;AND&#39;
^ |                # 位运算符
<= < > >=          # 比较运算符
<> == !=           # 等于运算符
= %= /= //= -= += *= **=    # 赋值运算符
is is not          # 身份运算符
in not in          # 成员运算符
not and or         # 逻辑运算符

以上是Python資料型別及運算子的詳細總結(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除