目錄
一、Python資料類型
整形(int)
長整形(長)
浮點型(float)
複數(complex)
布爾值(True、False)
空值(None)
字串(str)
字典(dict)
二、Python数据运算
算数运算
赋值运算
比较运算
逻辑运算
身份运算
位运算
Python运算符优先级(从高到底依次排列)
首頁 後端開發 Python教學 Python資料型別及運算子的詳細總結(程式碼範例)

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

Jan 25, 2019 am 10:22 AM
python

本篇文章帶給大家的內容是關於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
登入後複製

小于 <

In [151]: 6<6
Out[151]: False
In [152]: 6<7
Out[152]: True
登入後複製

小于等于 <=

In [153]: 6<=6
Out[153]: True
In [154]: 6<=7
Out[154]: True
登入後複製

逻辑运算

布尔'与' and (有假为假,全真为真)

In [156]: True and False
Out[156]: False
In [157]: True and True
Out[157]: True
In [158]: False and False
Out[158]: False
登入後複製

布尔'或' or (有真为真,全假为假)

In [159]: True or True
Out[159]: True
In [160]: True or False
Out[160]: True
In [161]: False and False
Out[161]: False
登入後複製

布尔'非' not (取相反)

In [162]: not True
Out[162]: False
In [163]: not False
Out[163]: True
登入後複製

身份运算

判断两个标识符是否引用自同一个对象 is

In [167]: a=b=3

In [168]: a is b
Out[168]: True

In [169]: a=3

In [170]: b=5

In [171]: a is b
Out[171]: False
登入後複製

判断两个标识符是否引用自不同对象 is not

In [177]: a=3
In [178]: b=5
In [179]: a is not b
Out[179]: True
登入後複製

== 与 is 的区别:

看到这里,很多小伙伴已经晕了,== 和 is 好像一样啊,看起来一样,其实是不一样的,来看下面的这段代码:

In [180]: a = 600
In [181]: b = 600
In [182]: a == b
Out[182]: True
In [183]: a is b
Out[183]: False
登入後複製

其实啊,== 比较的是值,is比较的地址,让我们用 id() 这个函数查看一下变量的地址:

In [184]: id(a)
Out[184]: 2155434581648
In [185]: id(b)
Out[185]: 2155434581904
登入後複製

可以看到,a和b俩个变量的值虽然相同,但地址却不一样,所以使用 == 和 is 的结果自然就不一样。那我们再来看一段代码:

In [187]: a = 10
In [188]: b = 10
In [189]: a == b
Out[189]: True
In [190]: a is b
Out[190]: True
In [191]: id(a)
Out[191]: 1529742064
In [192]: id(b)
Out[192]: 1529742064
登入後複製

萌新是不是莫不着头脑了,用600的时候 is 输出False,用10的时候怎么地址一样了啊,(快回头,有鬼~)其实啊,Python有一个叫做小整数对象池的东西,只要是[-5, 256]之间的整数都会使用同一份地址,这下萌新明白了哇。

位运算

重点说明:位运算针对的是二进制数

按位与 &

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [195]: c = a&b  # 14 = 0000 1110
In [196]: c
Out[196]: 14
登入後複製

按位或 |

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [197]: c = a|b  # 31 = 0001 1111
In [198]: c
Out[198]: 31
登入後複製

按位异或 ^

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [200]: c = a^b  # 17 = 0001 0001
In [201]: c
Out[201]: 17
登入後複製

按位取反 ~

In [210]: a = 60   # 60 = 0011 1100
In [211]: c = ~a  # -61 = 1100 0011
In [212]: c
Out[212]: -61
登入後複製

左移 <<

In [213]: a = 15   # 15 = 0000 1111
In [214]: c = a<<2 # 60 = 0011 1100
In [215]: c
Out[215]: 60#左移后面要加位数
登入後複製

右移 >>

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Golang vs. Python:性能和可伸縮性 Golang vs. Python:性能和可伸縮性 Apr 19, 2025 am 12:18 AM

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

See all articles