摘要:下面列出一個(gè)表格,將所有的運(yùn)算符表現(xiàn)出來(lái)。比較運(yùn)算符所謂比較,就是比一比兩個(gè)東西。由于其在符號(hào)邏輯運(yùn)算中的特殊貢獻(xiàn),很多計(jì)算機(jī)語(yǔ)言中將邏輯運(yùn)算稱(chēng)為布爾運(yùn)算,將其結(jié)果稱(chēng)為布爾值。布爾所創(chuàng)立的這套邏輯被稱(chēng)之為布爾代數(shù)。
在計(jì)算機(jī)高級(jí)中語(yǔ)言,運(yùn)算符是比較多樣化的。其實(shí),也都源于我們?nèi)粘5男枰?/p> 算術(shù)運(yùn)算符
前面已經(jīng)講過(guò)了四則運(yùn)算,其中涉及到一些運(yùn)算符:加減乘除,對(duì)應(yīng)的符號(hào)分別是:+ - * /,此外,還有求余數(shù)的:%。這些都是算術(shù)運(yùn)算符。其實(shí),算術(shù)運(yùn)算符不止這些。根據(jù)中學(xué)數(shù)學(xué)的知識(shí),看官也應(yīng)該想到,還應(yīng)該有乘方、開(kāi)方之類(lèi)的。
下面列出一個(gè)表格,將所有的運(yùn)算符表現(xiàn)出來(lái)。不用記,但是要認(rèn)真地看一看,知道有那些,如果以后用到,但是不自信能夠記住,可以來(lái)查。
運(yùn)算符 | 描述 | 實(shí)例 |
---|---|---|
+ | 加 - 兩個(gè)對(duì)象相加 | 10+20 輸出結(jié)果 30 |
- | 減 - 得到負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù) | 10-20 輸出結(jié)果 -10 |
* | 乘 - 兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串 | 10 * 20 輸出結(jié)果 200 |
/ | 除 - x除以y | 20/10 輸出結(jié)果 2 |
% | 取余 - 返回除法的余數(shù) | 20%10 輸出結(jié)果 0 |
** | 冪 - 返回x的y次冪 | 10**2 輸出結(jié)果 100 |
// | 取整除 - 返回商的整數(shù)部分 | 9//2 輸出結(jié)果 4 , 9.0//2.0 輸出結(jié)果 4.0 |
是不是看著并不陌生呀。這里有一個(gè)建議給看官,請(qǐng)打開(kāi)你的IDLE,依次將上面的運(yùn)算符實(shí)驗(yàn)一下。
列為看官可以根據(jù)中學(xué)數(shù)學(xué)的知識(shí),想想上面的運(yùn)算符在混合運(yùn)算中,應(yīng)該按照什么順序計(jì)算。并且親自試試,是否與中學(xué)數(shù)學(xué)中的規(guī)律一致。(應(yīng)該是一致的,計(jì)算機(jī)科學(xué)家不會(huì)另外搞一套讓我們和他們一塊受罪。)
比較運(yùn)算符所謂比較,就是比一比兩個(gè)東西。這在某國(guó)是最常見(jiàn)的了,做家長(zhǎng)的經(jīng)常把自己的孩子跟別人的孩子比較,唯恐自己孩子在某方面差了;官員經(jīng)常把自己的工資和銀行比較,總覺(jué)得少了。
在計(jì)算機(jī)高級(jí)語(yǔ)言編程中,任何兩個(gè)同一類(lèi)型的量的都可以比較,比如兩個(gè)數(shù)字可以比較,兩個(gè)字符串可以比較。注意,是兩個(gè)同一類(lèi)型的。不同類(lèi)型的量可以比較嗎?首先這種比較沒(méi)有意義。就好比二兩肉和三尺布進(jìn)行比較,它們誰(shuí)大呢?這種比較無(wú)意義。所以,在真正的編程中,我們要謹(jǐn)慎對(duì)待這種不同類(lèi)型量的比較。
但是,在某些語(yǔ)言中,允許這種無(wú)意思的比較。因?yàn)樗诒容^的時(shí)候,都是將非數(shù)值的轉(zhuǎn)化為了數(shù)值類(lèi)型比較。這個(gè)后面我們會(huì)做個(gè)實(shí)驗(yàn)。
對(duì)于比較運(yùn)算符,在小學(xué)數(shù)學(xué)中就學(xué)習(xí)了一些:大于、小于、等于、不等于。沒(méi)有陌生的東西,python里面也是如此。且看下表:
以下假設(shè)變量a為10,變量b為20:
運(yùn)算符 | 描述 | 實(shí)例 |
---|---|---|
== | 等于 - 比較對(duì)象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比較兩個(gè)對(duì)象是否不相等 | (a != b) 返回 true. |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
上面的表格實(shí)例中,顯示比較的結(jié)果就是返回一個(gè)true或者false,這是什么意思呢。就是在告訴你,這個(gè)比較如果成立,就是為真,返回True,否則返回False,說(shuō)明比較不成立。
請(qǐng)按照下面方式進(jìn)行比較操作,然后再根據(jù)自己的想象,把比較操作熟練熟練。
>>> a=10 >>> b=20 >>> a>b False >>> a>> a==b False >>> a!=b True >>> a>=b False >>> a<=b True >>> c="5" #a、c是兩個(gè)不同類(lèi)型的量,能比較,但是不提倡這么做。 >>> a>c False >>> a邏輯運(yùn)算符 首先談?wù)勈裁词沁壿嫞n寒先生對(duì)邏輯有一個(gè)分類(lèi):
邏輯分兩種,一種是邏輯,另一種是中國(guó)人的邏輯。————韓寒
這種分類(lèi)的確非常精準(zhǔn)。在很多情況下,中國(guó)人是有很奇葩的邏輯的。但是,在python中,講的是邏輯,不是中國(guó)人的邏輯。
邏輯(logic),又稱(chēng)理則、論理、推理、推論,是有效推論的哲學(xué)研究。邏輯被使用在大部份的智能活動(dòng)中,但主要在哲學(xué)、數(shù)學(xué)、語(yǔ)義學(xué)和計(jì)算機(jī)科學(xué)等領(lǐng)域內(nèi)被視為一門(mén)學(xué)科。在數(shù)學(xué)里,邏輯是指研究某個(gè)形式語(yǔ)言的有效推論。
關(guān)于邏輯問(wèn)題,看官如有興趣,可以聽(tīng)一聽(tīng)《國(guó)立臺(tái)灣大學(xué)公開(kāi)課:邏輯》
下面簡(jiǎn)單理解一下邏輯問(wèn)題。
布爾類(lèi)型的變量在所有的高級(jí)語(yǔ)言中,都有這么一類(lèi)變量,被稱(chēng)之為布爾型。從這個(gè)名稱(chēng),看官就知道了,這是用一個(gè)人的名字來(lái)命名的。
喬治·布爾(George Boole,1815年11月-1864年,),英格蘭數(shù)學(xué)家、哲學(xué)家。
喬治·布爾是一個(gè)皮匠的兒子,生于英格蘭的林肯。由于家境貧寒,布爾不得不在協(xié)助養(yǎng)家的同時(shí)為自己能受教育而奮斗,不管怎么說(shuō),他成了19世紀(jì)最重要的數(shù)學(xué)家之一。盡管他考慮過(guò)以牧師為業(yè),但最終還是決定從教,而且不久就開(kāi)辦了自己的學(xué)校。
在備課的時(shí)候,布爾不滿(mǎn)意當(dāng)時(shí)的數(shù)學(xué)課本,便決定閱讀偉大數(shù)學(xué)家的論文。在閱讀偉大的法國(guó)數(shù)學(xué)家拉格朗日的論文時(shí),布爾有了變分法方面的新發(fā)現(xiàn)。變分法是數(shù)學(xué)分析的分支,它處理的是尋求優(yōu)化某些參數(shù)的曲線和曲面。
1848年,布爾出版了《The Mathematical Analysis of Logic》,這是他對(duì)符號(hào)邏輯諸多貢獻(xiàn)中的第一次。
1849年,他被任命位于愛(ài)爾蘭科克的皇后學(xué)院(今科克大學(xué)或UCC)的數(shù)學(xué)教授。1854年,他出版了《The Laws of Thought》,這是他最著名的著作。在這本書(shū)中布爾介紹了現(xiàn)在以他的名字命名的布爾代數(shù)。布爾撰寫(xiě)了微分方程和差分方程的課本,這些課本在英國(guó)一直使用到19世紀(jì)末。
由于其在符號(hào)邏輯運(yùn)算中的特殊貢獻(xiàn),很多計(jì)算機(jī)語(yǔ)言中將邏輯運(yùn)算稱(chēng)為布爾運(yùn)算,將其結(jié)果稱(chēng)為布爾值。請(qǐng)看官認(rèn)真閱讀布爾的生平,立志呀。
布爾所創(chuàng)立的這套邏輯被稱(chēng)之為“布爾代數(shù)”。其中規(guī)定只有兩種值,True和False,正好對(duì)應(yīng)這計(jì)算機(jī)上二進(jìn)制數(shù)的1和0。所以,布爾代數(shù)和計(jì)算機(jī)是天然吻合的。
所謂布爾類(lèi)型,就是返回結(jié)果為1(True)、0(False)的數(shù)據(jù)變量。
在python中(其它高級(jí)語(yǔ)言也類(lèi)似,其實(shí)就是布爾代數(shù)的運(yùn)算法則),有三種運(yùn)算符,可以實(shí)現(xiàn)布爾類(lèi)型的變量間的運(yùn)算。
布爾運(yùn)算看下面的表格,對(duì)這種邏輯運(yùn)算符比較容易理解:
(假設(shè)變量a為10,變量b為20)
運(yùn)算符 描述 實(shí)例 and 布爾"與" - 如果x為False,x and y返回False,否則它返回y的計(jì)算值。 (a and b) 返回 true。 or 布爾"或" - 如果x是True,它返回True,否則它返回y的計(jì)算值。 (a or b) 返回 true。 not 布爾"非" - 如果x為T(mén)rue,返回False。如果x為False,它返回True。 not(a and b) 返回 false。 and
and,翻譯為“與”運(yùn)算,但事實(shí)上,這種翻譯容易引起望文生義的理解。先說(shuō)一下正確的理解。A and B,含義是:首先運(yùn)算A,如果A的值是true,就計(jì)算B,并將B的結(jié)果返回做為最終結(jié)果,如果B是False,那么A and B的最終結(jié)果就是False,如果B的結(jié)果是True,那么A and B的結(jié)果就是True;如果A的值是False ,就不計(jì)算B了,直接返回A and B的結(jié)果為False.
比如:
4>3 and 4<9,首先看4>3的值,這個(gè)值是True,再看4<9的值,是True,那么最終這個(gè)表達(dá)式的結(jié)果為T(mén)rue.
>>> 4>3 and 4<9 True4>3 and 4<2,先看4>3,返回True,再看4<2,返回的是False,那么最終結(jié)果是False.
>>> 4>3 and 4<2 False4<3 and 4<9,先看4<3,返回為False,就不看后面的了,直接返回這個(gè)結(jié)果做為最終結(jié)果。
>>> 4<3 and 4<2 False前面說(shuō)容易引起望文生義的理解,就是有相當(dāng)不少的人認(rèn)為無(wú)論什么時(shí)候都看and兩邊的值,都是true返回true,有一個(gè)是false就返回false。根據(jù)這種理解得到的結(jié)果,與前述理解得到的結(jié)果一樣,但是,運(yùn)算量不一樣哦。
or
or,翻譯為“或”運(yùn)算。在A and B中,它是這么運(yùn)算的:
if A==True: return True else: if B==True: return True else if B==False: return False上面這段算是偽代碼啦。所謂偽代碼,就是不是真正的代碼,無(wú)法運(yùn)行。但是,偽代碼也有用途,就是能夠以類(lèi)似代碼的方式表達(dá)一種計(jì)算過(guò)程。
看官是不是能夠看懂上面的偽代碼呢?下面再增加上每行的注釋。這個(gè)偽代碼跟自然的英語(yǔ)差不多呀。
if A==True: #如果A的值是True return True #返回True,表達(dá)式最終結(jié)果是True else: #否則,也就是A的值不是True if B==True: #看B的值,然后就返回B的值做為最終結(jié)果。 return True else if B==False: return False舉例,根據(jù)上面的運(yùn)算過(guò)程,分析一下下面的例子,是不是與運(yùn)算結(jié)果一致?
>>> 4<3 or 4<9 True >>> 4<3 or 4>9 False >>> 4>3 or 4>9 Truenot
not,翻譯成“非”,竊以為非常好,不論面對(duì)什么,就是要否定它。
>>> not(4>3) False >>> not(4<3) True關(guān)于運(yùn)算符問(wèn)題,其實(shí)不止上面這些,還有呢,比如成員運(yùn)算符in,在后面的學(xué)習(xí)中會(huì)逐漸遇到。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/37319.html
摘要:在學(xué)習(xí)語(yǔ)句的時(shí)候,對(duì)編程的基礎(chǔ)知識(shí)了解的還不是很多,或許沒(méi)有做什么太復(fù)雜的東西。可以通過(guò)一個(gè)內(nèi)置函數(shù)來(lái)判斷一個(gè)條件的結(jié)果還是。有朋友需要看完整教程內(nèi)容,請(qǐng)點(diǎn)擊零基礎(chǔ)學(xué),這里會(huì)及時(shí)更新,并且有完整的目錄結(jié)構(gòu),更吸納了朋友們提出的意見(jiàn)和建議。 看官是否記得,在上一部分的時(shí)候,有一講專(zhuān)門(mén)介紹if語(yǔ)句的:從if開(kāi)始語(yǔ)句的征程。在學(xué)習(xí)if語(yǔ)句的時(shí)候,對(duì)python編程的基礎(chǔ)知識(shí)了解的還不是很多,...
摘要:在學(xué)生時(shí)代,就羨慕實(shí)驗(yàn)室,老師在里面可以鼓搗各種有意思的東西。再后來(lái),終于發(fā)現(xiàn)原來(lái)計(jì)算機(jī)是一個(gè)最好的實(shí)驗(yàn)室。通過(guò)實(shí)驗(yàn),研究清楚了,才能在編程實(shí)踐中使用。其實(shí),這就是一個(gè)非常好的實(shí)驗(yàn)室。 在學(xué)生時(shí)代,就羨慕實(shí)驗(yàn)室,老師在里面可以鼓搗各種有意思的東西。上大學(xué)的時(shí)候,終于有機(jī)會(huì)在實(shí)驗(yàn)室做大量實(shí)驗(yàn)了,因?yàn)槲沂俏锢硐担⑶遥龅搅艘晃环浅A钗易鹁吹睦蠋煛呃蠋煟屛以谒膶?shí)驗(yàn)室里面,把所有已經(jīng)...
摘要:語(yǔ)句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個(gè)元素。與配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。表示此行為空,不運(yùn)行任何操作。在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素。恭請(qǐng)到上瀏覽及時(shí)更新的教程零基礎(chǔ)學(xué) 小孩子剛剛開(kāi)始學(xué)說(shuō)話(huà)的時(shí)候,常常是一個(gè)字一個(gè)字地開(kāi)始學(xué),比如學(xué)說(shuō)餃子,對(duì)他/她來(lái)講,似乎有點(diǎn)難度,大人也聰明,于是就簡(jiǎn)化了,用餃餃來(lái)代替,其實(shí)就是讓孩子學(xué)會(huì)一個(gè)字就能表達(dá)。當(dāng)然...
摘要:在線挑戰(zhàn),還沒(méi)用過(guò),貌似現(xiàn)在對(duì)英文資料心里還有種抵觸,必須克服實(shí)驗(yàn)樓研發(fā)工程師包含了等學(xué)習(xí)課程。書(shū)的作者就是開(kāi)發(fā)了用于數(shù)據(jù)分析的著名開(kāi)源庫(kù)的作者英文資料,對(duì)數(shù)據(jù)分析中要用到的一些庫(kù),等等做了簡(jiǎn)要介紹。形式的資料,示例代碼都很全。 showImg(https://segmentfault.com/img/remote/1460000004852849); 一、說(shuō)明 面對(duì)網(wǎng)絡(luò)上紛繁復(fù)雜的資...
摘要:一提到計(jì)算機(jī),當(dāng)然現(xiàn)在更多人把她叫做電腦,這兩個(gè)詞都是指。乃至于,有的人在口語(yǔ)中區(qū)分不開(kāi)計(jì)算機(jī)和計(jì)算器。那么,做為零基礎(chǔ)學(xué)習(xí)這,也就從計(jì)算小學(xué)數(shù)學(xué)題目開(kāi)始吧。因?yàn)閺倪@里開(kāi)始,數(shù)學(xué)的基礎(chǔ)知識(shí)列為肯定過(guò)關(guān)了。 一提到計(jì)算機(jī),當(dāng)然現(xiàn)在更多人把她叫做電腦,這兩個(gè)詞都是指computer。不管什么,只要提到她,普遍都會(huì)想到她能夠比較快地做加減乘除,甚至乘方開(kāi)方等。乃至于,有的人在口語(yǔ)中區(qū)分不開(kāi)計(jì)...
閱讀 2882·2023-04-26 02:49
閱讀 3455·2021-11-25 09:43
閱讀 3430·2021-10-09 09:43
閱讀 3008·2021-09-28 09:44
閱讀 2457·2021-09-22 15:29
閱讀 4529·2021-09-14 18:02
閱讀 2789·2021-09-03 10:48
閱讀 3434·2019-08-30 12:47