當前位置:首頁 » 編程語言 » python中的邏輯與

python中的邏輯與

發布時間: 2022-11-24 22:22:12

python與或非什麼區別

Python邏輯運算符
Python中的邏輯運算,與,或,非,分別對應關鍵字and,or,not。邏輯與表示兩者都為真,返回真,反之為假;邏輯或表示一者為假,則為假;邏輯非表示相反的概念。
Python語言支持邏輯運算符,以下假設變數 a 為 10, b為 20:
Python學習網- 專業的python自學、交流公益平台!

❷ 我想問下python中 邏輯與:「&」和「and」的區別

1、「&」和「and」有本質區別,屬於不同類型的運行符號。& 是位運算;and 是邏輯運算。

2、首先是&:該運輸符屬於字元串的連接運算符,例如,「w「&」c「結果為字元串」wc「。

3、and屬於邏輯運算符,表示邏輯與運算,其規則是有假取假,全真為真。例如,true and false結果為false,true and true結果為true。

(2)python中的邏輯與擴展閱讀

Python的設計哲學是「優雅」、「明確」、「簡單」。因此,Perl語言中「總是有多種方法來做同一件事」的理念在Python開發者中通常是難以忍受的。Python開發者的哲學是「用一種方法,最好是只有一種方法來做一件事」。

在設計Python語言時,如果面臨多種選擇,Python開發者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法。

由於這種設計觀念的差異,Python源代碼通常被認為比Perl具備更好的可讀性,並且能夠支撐大規模的軟體開發。這些准則被稱為Python格言。在Python解釋器內運行import this可以獲得完整的列表。

Python開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合並到Python內。所以很多人認為Python很慢。

不過,根據二八定律,大多數程序對速度要求不高。在某些對運行速度要求很高的情況,Python設計師傾向於使用JIT技術,或者用使用C/C++語言改寫這部分程序。可用的JIT技術是PyPy。

Python是完全面向對象的語言。函數、模塊、數字、字元串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。

Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標准庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。

雖然Python可能被粗略地分類為「腳本語言」(script language),但實際上一些大規模軟體開發計劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。

Python的支持者較喜歡稱它為一種高級動態編程語言,原因是「腳本語言」泛指僅作簡單程序設計任務的語言,如shellscript、VBScript等只能處理簡單任務的編程語言,並不能與Python相提並論。

Python本身被設計為可擴充的。並非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C++、Cython來編寫擴充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內。

因此,很多人還把Python作為一種「膠水語言」(glue language)使用。使用Python將其他語言編寫的程序進行集成和封裝。在Google內部的很多項目,例如Google Engine使用C++編寫性能要求極高的部分,然後用Python或Java/Go調用相應的模塊。

《Python技術手冊》的作者馬特利(Alex Martelli)說:「這很難講,不過,2004 年,Python 已在Google內部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,

他們的目的是 Python where we can, C++ where we must,在操控硬體的場合使用 C++,在快速開發時候使用 Python。」

❸ Python中的邏輯運算符有哪些呢

關鍵是一個變數/值是「相當於」True還是False。
None、False、空字元串""、0、空列表[]、空字典{}、空元組(),都相當於False。其它的都相當於True。

先說 A or B 。
如果A相當於True,那麼返回A。否則,返回B。
所以,如果A和B都是False,那麼A and B也是False (False or False == False)。

除了做布爾值的判斷,C = A or B 這種寫法,常用於不確定A是否為空值時,把B作為候補來賦值給C。

A and B相反。如果A相當於True,那麼返回B。否則,返回A。
所以,只有A和B都是True時,A and B才是True (True and True == True)。

❹ Python中的邏輯運算符有什麼

邏輯運算符用於組合多個條件測試語句。假設「我今年18歲」和「我身高2米」這兩個語句,前一個語句是真的,後一個語句是假的,因此,「我今年18歲,並且我身高2米」這個語句是假的。其中,「並且」可以認為是邏輯運算符。Python中有三種邏輯運算符,分別是and、or和not。

一、邏輯運算符and

在某些場景下,需要同時檢查兩個甚至更多的條件。假設某運動隊招收運動員的要求是年齡不得低於14周歲,同時身體健康,使用邏輯運算符and來判斷是否符合要求:

在布爾表達式「(math >= 95 and chinese > 85) or (math >= 85 and chinese > 90)」中,使用or運算符連接的兩個布爾表達式「math >= 95 and chinese > 85」和「math >= 85 and chinese > 90」只要有一個值為True,返回值就為True。而對於布爾表達式「math >= 95 and chinese > 85」和「math >= 85 and chinese > 90」,都是使用and運算符連接的,故and運算符連接的兩個布爾表達式的值必須都為True,返回值才為True。小明的數學成績是98分,語文成績是88分,布爾表達式「math >= 95 and chinese > 85」的值為True,「math >= 85 and chinese > 90」的值為False,因此,整個布爾表達式的值為True,列印「小明獲得家庭獎學金!」。

關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。

❺ Python用於表示邏輯或者運算的關鍵字

Python的邏輯運算符有and(邏輯與,兩者都為真才為真)、not(邏輯非,對當前邏輯取反)、or(邏輯或,兩者中有一為真即為真)三個。

❻ 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篇 算術運算符

❼ python-邏輯運算:not\and\or和布爾值:True\False

這東西在每一個語言都有,and or not 對應與、或、非三種邏輯運算;True和False是bool值,即真和假。
邏輯運算和布爾值經常用於if判斷語句、循環語句的條件語句。
首先作為控制條件應該是一個布爾值,即真和假——True和false。
python的內置類——布爾類,只有兩個實例:True和false。對於一般數字而言,0是False,非0是True;對於序列和容器類型,如列表、字典、字元串等,空為False,非空為True。
所以就有了這樣的用法:

輸出:1 為True

輸出: 0 為 False

輸出:a = '字元串'

這了可以看出一個實例本身可以作為控制條件,這是因為,解釋器會先把這個實例轉換為bool類型,然後根據這個bool類型執行程序。即bool(a) = True、bool(b) = False。
但是只用這樣的方式控製程序顯然不夠,比如我希望a為空,b為非空的時候,我輸出「我天下第一」,這怎麼辦?
如果不用not and or 就會寫成這樣:

輸出:我天下第一
可以把a 看成False,b看成True。
從這里我們可以看到,我們用了兩層if--else語句來判斷a為空,b為非空的情況,那麼我用邏輯運算呢?

輸出:我天下第一
一樣的:可以把a 看成False,b看成True。那麼not a and b的意思就是:not False and True
這時候就是邏輯運算符的優先順序的問題,這可以借鑒C語言的那本書《C程序設計》第五版的第92頁

!非
算數運算符
關系運算符
&& 和 ||
賦值運算符

運算優先順序從上到下,越來越低。
這是C語言里的,在python里就是:

not -------------->高
and 和 or ---------->低

所以我們先算not
於是 not False and True 就成所以了True and True這就很清楚了結果為True,所以「我天下第一」。
所以我們就可以總結出:
1.先將實例變為布爾值
2.在計算所有的not
3.根據語言特性,從左到右或者從右到左計算邏輯運算結果。
當然在python中是從左到右。

and 和 or 運算具有短路保護!什麼意思呢?看一個栗子

1 or a
or的左邊是1也就是True,根據or的運演算法則,只要有一個真則為真,所以不管a是真還是假,結果都是真。

0 and a
and 左邊為0,為False,同樣,and只要有一個為假則為假,所以不管a是真還是假,結果都是假。
所以and 和 or 的結果可以根據第一個操作數的值來確定,那麼他就不會對第二個操作數進行運算。
這個功能用起來要很小心,不然很可能會出現想不到的結果。

這里會輸出什麼呢?
輸出:我天下第一

因為x是True,無論y and z 的結果是什麼,這個語句的結果都是True,這就是短路保護,當然也有的人說惰性計算。

我覺得迭代器、生成器那個才叫惰性計算。

❽ python的選擇結構

python的邏輯運算符:and(邏輯與),or(邏輯或),not(邏輯非).
和其它語言與[&&],或[||],非[!]不一樣,感覺有些怪。

判斷閏年

判斷字母

邏輯運算具有短路的性質,可以進行一些操作,在shell命令中,或者替代一些if語句

測試運算
in運算符用於在指定的序列中查找某一值,存在返回True,否則False.

身份測試
身份測試用於測試二個變數是否指向同一個對象。

單分直格式:

雙分支結構
格式:

條件表達式後面的語句塊必須向右縮進,默認4個空格,類似其它語言的 { },其它比如for語句,def等都需要縮進,注意一下就行了。

多分支語句

❾ python的邏輯運算符有哪些

主要有四種:
1、比較運算符

如果成立則返回True,不成立則返回False

注意:不同類型的對象之間只能用「==、!=」作比較。
2. 成員運算符

成員運算符的關鍵詞是「in」,判斷一個元素是否在某一個列表(容器)中

3. 身份運算符:

身份運算符是用來比較兩個對象是否是同一個對象,身份運算符主要用「is、is not」來判斷。

4. 布爾運算符:

在Python中有3種布爾運算符:and、or、not。

熱點內容
手機建行密碼忘記了怎麼辦 發布:2025-01-16 15:45:38 瀏覽:224
易語言視頻播放源碼 發布:2025-01-16 15:39:35 瀏覽:343
肇觀演算法 發布:2025-01-16 15:38:39 瀏覽:610
管家婆找不到加密狗 發布:2025-01-16 15:10:28 瀏覽:308
linux的etcfstab 發布:2025-01-16 15:00:43 瀏覽:364
電腦無法登錄內網伺服器 發布:2025-01-16 15:00:28 瀏覽:575
編譯nasm 發布:2025-01-16 14:54:43 瀏覽:202
編程實戰寶典 發布:2025-01-16 14:53:12 瀏覽:248
ibm伺服器怎麼關閉開機初始化 發布:2025-01-16 14:50:41 瀏覽:66
瀏覽器上傳不了圖片 發布:2025-01-16 14:45:46 瀏覽:600