Ⅰ python中的邏輯運算符:not,and,or的優先順序
1、and為且,and兩邊的變數都是true的時候結果是true
如:1)5>3 and 4>2 True
2)5>3 and 4<2 False
2、or為或,有一個是true的時候結果即為true
如:1)5>3 or 4>2 True
2) 5>3 or 4<2 True
3、not取反.
如:1)not 5>3 False
2)not 5<3 True
4、當not和and及or在一起運算時,優先順序為是 not > and > or.
如果有括弧,括弧的優先順序最高,先運算括弧中的結果。
Ⅱ pythen表達式中,可以使用什麼控制運算的優先順序
運算符優先順序--引用運算符、算術運算符、連接運算符、比較運算符 引用運算符優先順序-- :(冒號)、(單個空格)、 ,(逗號) 算術運算符優先順序-- - 負數(如 –1)、% 百分比、^ 乘方、* 和 / (乘和除)、+ 和 –(加和減 ) 連接運算符優先順序--& 連接兩個文本字元串(串連) 比較運算符-- =、< 或 >(小於或大於)、<=(不大於)、>=(不小於)、<>(不等於)[注:這些比較運算符是屬同級運算] 使用括弧 若要更改求值的順序,可把公式中要先計算的部分用括弧括起來Ⅲ python運算符優先順序
python運算符優先順序如下:
1、冪運算符:冪運算,a**b得到的結果是a的b次方。
2、算數運算符:
/:除法運算符得出的時除法運算的結果,不會對結果取整。例如50/8得到的結果是6.25。
//:取整運算符,得到的時運算結果的整數部分。
%:取余運算符,得到的是運算結果的小數部分。
*:乘法運算符,a*b得到的是a乘以b的結果。
+、-:加減法運算符,得出的就是兩個數相加或相減的結果。
Ⅳ Python 里 and、or 的計算規則是怎樣的
如下:
第一種情況,只有一個運算符:(在不加括弧的時候,and優先順序大於or)。
1、and:從左到右,若所有值均為真,則返回後一個值,有一個假的值,則返回第一個假的值。
2、or:從左到右,返回第一個為真的值,都為假返回後一個值。
例如:
x or y的值只可能是x或y,x為真就是x,x為假就是y。
x and y的值只可能是x或y,x為真就是y,x為假就是x 。
第二種情況,多個運算符:
1、表達式從左至右運算,若 or 的左側邏輯值為 True ,直接輸出 or 左側表達式 。
2、表達式從左至右運算,若 and 的左側邏輯值為 False ,則忽略後面表達式,直到有 or 出現,輸出 and 左側表達式到 or 的左側,參與接下來的邏輯運算。
Python語言特點:
1、簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注於解決問題而不是去搞明白語言本身。
2、易學:Python極其容易上手,因為Python有極其簡單的說明文檔。
3、易讀、易維護:風格清晰劃一、強制縮進。
4、速度快:Python 的底層是用 C 語言寫的,很多標准庫和第三方庫也都是用 C 寫的,運行速度非常快。
Ⅳ Python運算符優先順序規則有哪些
以下運算符優先順序順序依次遞增:
Lambda#運算優先順序最低
邏輯運算符:or
邏輯運算符:and
邏輯運算符:not
成員測試:in,notin
同一性測試:is,isnot
比較:<,<=,>,>=,!=,==
按位或:|
按位異或:^
按位與:&
移位:<<,>>
加法與減法:+,-
乘法、除法與取余:*,/,%
正負號:+x,-x
Ⅵ Python教程:第19篇 邏輯運算符
我們在高一時學習過命題的邏輯運算:與、或、非,在計算機科學中,其運算規則也是類似的(基本原理相同,但操作數與返回結果有所不同),Python也不例外。
在Python中,與用and、或用or、非用not表示。邏輯運算符一般用於操作返回值為bool類型的表達式,以表達式的值True(真)和False(假)為例。其運算規則總覽如下:
需要特別注意的是,在Python中,雖然邏輯運算符的操作數一般是運算結果為邏輯值的表達式,但也可以是運算結果為數值、字元串、元組、列表、集合、字典等類型的表達式。返回值也不一定是邏輯(bool)類型。而有些教程錯誤地稱只能操作bool類型的表達式以及始終返回bool類型。
我們可以用兩個not查看某種數據等價的邏輯值,下面是一些常見數據類型的等價規則:
一、數值除了0視為False,其餘數值(包括小數、負數、復數)均視為True:
二、字元串除了空字元串視為False外,其餘均視為True(包括空格、製表、換行、回車等空白符,也包括字元串'False'):
三、對於元組、列表、集合、字典也是如此,空的視為False,非空的均視為True,即使其中只有一個值為False或0的數據:
有一種情況容易產生誤解,就是使用小括弧將False包圍起來,這其實也是表示bool值,而不是元組,元組是使用小括弧包圍的數據列表,但是如果只有一個成員,數據後面要加一個逗號,正如上述示例中所示那樣,下面的示例顯示了小括弧包圍的False的數據類型:
四、對於一個類也是如此,非空類視為True(註:無法創建什麼都不包含的空類):
五、None視為False:
總結一下就是: 數值0、空字元串、空元組、空列表、空集合、空字典以及None,均視為邏輯值False,其餘均視為True。
需要注意的是,邏輯運算符的返回值不一定是bool類型。
了解了非bool類型的操作數等價的邏輯值之後,還需要了解邏輯運算符的完全運算規則,才能得知具體會返回什麼值。
and為邏輯與(也稱邏輯且),其使用語法如下:
表達式A and 表達式B
其中操作數表達式A和表達式B一般均為邏輯值。但也可以是數值、字元串、元組、列表、集合、字典、對象等類型。
其運算通用規則為: 如果 表達式A 的運算結果等價於False,返回其運算結果,不再計算表達式B。否則返回 表達式B 的運算結果。
對於最常用的兩個操作數均為邏輯值的情況,只有當兩個操作數均為True的情況下為True,其餘情況均為False,以下是所有四種可能情況的運行示例:
其中兩個操作數也都可以是非邏輯值。
當第1個操作數結果等價於False時,比如False、0、None、空字元串、空元組、空列表、空集合、空字典等,整個邏輯表達式返回第1個操作數,注意,返回的是操作數的原始值,而不是等價值False,下面是運行示例(None表示什麼也沒有,所以沒有輸出。set()返回空集合):
當第1個操作數等價於True時(非數值0、非空字元串等都等價於True),則不管第2個表達式的返回值是什麼,都將返回第2個值,當然這時第2個表達式不能有語法錯誤:
or為邏輯或,其使用格式如下:
表達式A or 表達式B
其中操作數表達式A和表達式B與and中的操作數含義相同。
其運算通用規則為: 如果 表達式A 的運算結果等價於True,返回其運算結果,不再計算表達式B。否則返回 表達式B 的運算結果。 其與and的區別在於,or當表達式A為True則返回表達式A,and當其為False時返回表達式A。
以上面and的示例為模板,可以看到,or與and的返回值正好相反。
與and類似,當表達式A相當於True時,表達式B也不會計算:
下面是常見的兩個操作數均為邏輯值的情況,or運算符的四種可能情況的運行示例(除非兩個值都是False時返回False,其餘情況返回True):
not為邏輯非,其使用格式如下:
not 表達式
其運算規則為: 當 表達式 的運算結果為False、0、None、空字元串、空元組、空列表、空集合、空字典時,返回True。其餘情況均返回False。
下面是一些不同數據類型的運算示例:
與and和or不同的是,not的返回值始終是bool類型,即只有True和False兩種可能的取值。
所以,可以使用not not 表達式來查看一個非邏輯值是等價True還是False,正如上文非邏輯操作數等價的邏輯值中所示的那樣。
當然,not最常用的用法還是逆轉邏輯值,下面是兩種可能情況的運行示例:
邏輯運算符優先順序not>and>or。
下面的示例證明and先於or運算:
下面的示例證明not先於or運算:
下面的示例證明not先於and運算:
另外,所有的邏輯運算符都比元組逗號分隔符的優先順序要高,以and為例,比如下面是一個元組:
下面的例子中:
先計算了3 and 4,然後再組合成了元組,相當於:
而不是:
not與or的優先順序也比其要高,下面是示例:
所以雖然元組有時可以省略小括弧,但在與邏輯運算符運算時,元組請始終使用小括弧。
這篇文章的整理與編寫花費了我近十小時時間,從上午寫到晚上。是我目前最具匠心的文章,如果說以前我的文章只適合初學者,偶爾超水平發揮才適合中級學者,那麼這篇文章我感覺對高水平人員也有重要的參考意義。
就我目前所知,我所寫的教程,在全網找不到第二個比它更優秀的了,當然,每個人心中都有一桿稱,不同讀者可能也有不同的際遇,我能做的只是做好自己。
所以,如果你覺得此文不錯,可以分享給你身邊的朋友、同學、同事、同鄉,世界很大也很小,很多東西,初見只能依靠緣分。而再見就需要你的主動了,緣分天註定,努力亦可改變命運。
Python教程:第11篇 變數賦值
Python教程:第17篇 比較運算符
Python教程:第18篇 算術運算符