您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Python支持哪些運(yùn)算符”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
計(jì)算機(jī)的硬件系統(tǒng)通常由五大部件構(gòu)成,包括:運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備。其中,運(yùn)算器和控制器放在一起就是我們通常所說的中央處理器,它的功能是執(zhí)行各種運(yùn)算和控制指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。我們通常所說的程序?qū)嶋H上就是指令的集合,我們程序就是將一系列的指令按照某種方式組織到一起,然后通過這些指令去控制計(jì)算機(jī)做我們想讓它做的事情。今天我們使用的計(jì)算機(jī)雖然器件做工越來越精密,處理能力越來越強(qiáng)大,但究其本質(zhì)來說仍然屬于 “馮·諾依曼結(jié)構(gòu)” 的計(jì)算機(jī)?!榜T·諾依曼結(jié)構(gòu)”有兩個(gè)關(guān)鍵點(diǎn),一是指出要將存儲設(shè)備與中央處理器分開,二是提出了將數(shù)據(jù)以二進(jìn)制方式編碼。二進(jìn)制是一種“逢二進(jìn)一”的計(jì)數(shù)法,跟我們?nèi)祟愂褂玫摹胺晔M(jìn)一”的計(jì)數(shù)法沒有實(shí)質(zhì)性的區(qū)別,人類因?yàn)橛惺种杆允褂昧耸M(jìn)制(因?yàn)樵跀?shù)數(shù)時(shí)十根手指用完之后就只能進(jìn)位了,當(dāng)然凡事都有例外,瑪雅人可能是因?yàn)殚L年光著腳的原因把腳趾頭也算上了,于是他們使用了二十進(jìn)制的計(jì)數(shù)法,在這種計(jì)數(shù)法的指導(dǎo)下瑪雅人的歷法就與我們平常使用的歷法不一樣,而按照瑪雅人的歷法,2012年是上一個(gè)所謂的“太陽紀(jì)”的最后一年,而2013年則是新的“太陽紀(jì)”的開始,后來這件事情被以訛傳訛的方式誤傳為”2012年是瑪雅人預(yù)言的世界末日“這種荒誕的說法,今天我們可以大膽的猜測,瑪雅文明之所以發(fā)展緩慢估計(jì)也與使用了二十進(jìn)制有關(guān))。對于計(jì)算機(jī)來說,二進(jìn)制在物理器件上來說是最容易實(shí)現(xiàn)的(高電壓表示1,低電壓表示0),于是在“馮·諾依曼結(jié)構(gòu)”的計(jì)算機(jī)都使用了二進(jìn)制。雖然我們并不需要每個(gè)程序員都能夠使用二進(jìn)制的思維方式來工作,但是了解二進(jìn)制以及它與我們生活中的十進(jìn)制之間的轉(zhuǎn)換關(guān)系,以及二進(jìn)制與八進(jìn)制和十六進(jìn)制的轉(zhuǎn)換關(guān)系還是有必要的。如果你對這一點(diǎn)不熟悉,可以自行使用 維基百科 或者 百度百科 科普一下。
在程序設(shè)計(jì)中,變量是一種存儲數(shù)據(jù)的載體。計(jì)算機(jī)中的變量是實(shí)際存在的數(shù)據(jù)或者說是存儲器中存儲數(shù)據(jù)的一塊內(nèi)存空間,變量的值可以被讀取和修改,這是所有計(jì)算和控制的基礎(chǔ)。計(jì)算機(jī)能處理的數(shù)據(jù)有很多中類型,除了數(shù)值之外還可以處理文本、圖形、音頻、視頻等各種各樣的數(shù)據(jù),那么不同的數(shù)據(jù)就需要定義不同的存儲類型。Python中的數(shù)據(jù)類型很多,而且也允許我們自定義新的數(shù)據(jù)類型(這一點(diǎn)在后面會講到),我們先介紹幾種常用的數(shù)據(jù)類型。
整型:Python中可以處理任意大小的整數(shù)(Python 2.x中有int和long兩種類型的整數(shù),但這種區(qū)分對Python來說意義不大,因此在Python 3.x中整數(shù)只有int這一種了),而且支持二進(jìn)制(如0b100
,換算成十進(jìn)制是4)、八進(jìn)制(如0o100
,換算成十進(jìn)制是64)、十進(jìn)制(100
)和十六進(jìn)制(0x100
,換算成十進(jìn)制是256)的表示法。
浮點(diǎn)型:浮點(diǎn)數(shù)也就是小數(shù),之所以稱為浮點(diǎn)數(shù),是因?yàn)榘凑湛茖W(xué)記數(shù)法表示時(shí),一個(gè)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可變的,浮點(diǎn)數(shù)除了數(shù)學(xué)寫法(如123.456
)之外還支持科學(xué)計(jì)數(shù)法(如1.23456e2
)。
字符串型:字符串是以單引號或雙引號括起來的任意文本,比如'hello'
和"hello"
,字符串還有原始字符串表示法、字節(jié)字符串表示法、Unicode字符串表示法,而且可以書寫成多行的形式(用三個(gè)單引號或三個(gè)雙引號開頭,三個(gè)單引號或三個(gè)雙引號結(jié)尾)。
布爾型:布爾值只有True
、False
兩種值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布爾值(請注意大小寫),也可以通過布爾運(yùn)算計(jì)算出來(例如3 < 5
會產(chǎn)生布爾值True
,而2 == 1
會產(chǎn)生布爾值False
)。
復(fù)數(shù)型:形如3+5j
,跟數(shù)學(xué)上的復(fù)數(shù)表示一樣,唯一不同的是虛部的i
換成了j
。
對于每個(gè)變量我們需要給它取一個(gè)名字,就如同我們每個(gè)人都有屬于自己的響亮的名字一樣。在Python中,變量命名需要遵循以下這些必須遵守硬性規(guī)則和強(qiáng)烈建議遵守的非硬性規(guī)則。
硬性規(guī)則:
變量名由字母(廣義的Unicode字符,不包括特殊字符)、數(shù)字和下劃線構(gòu)成,數(shù)字不能開頭。
大小寫敏感(大寫的a
和小寫的A
是兩個(gè)不同的變量)。
不要跟關(guān)鍵字(有特殊含義的單詞,后面會講到)和系統(tǒng)保留字(如函數(shù)、模塊等的名字)沖突。
PEP 8要求:
用小寫字母拼寫,多個(gè)單詞用下劃線連接。
受保護(hù)的實(shí)例屬性用單個(gè)下劃線開頭(后面會講到)。
私有的實(shí)例屬性用兩個(gè)下劃線開頭(后面會講到)。
當(dāng)然,作為一個(gè)專業(yè)的程序員,給變量(事實(shí)上應(yīng)該是所有的標(biāo)識符)命名時(shí)做到見名知意也是非常重要的。
下面通過幾個(gè)例子來說明變量的類型和變量使用。
"""使用變量保存數(shù)據(jù)并進(jìn)行算術(shù)運(yùn)算Version: 0.1Author: 駱昊"""a = 321b = 123print(a + b)print(a - b)print(a * b)print(a / b)print(a // b)print(a % b)print(a ** b)
"""使用input函數(shù)輸入使用int()進(jìn)行類型轉(zhuǎn)換用占位符格式化輸出的字符串Version: 0.1Author: 駱昊"""a = int(input('a = ')) b = int(input('b = '))print('%d + %d = %d' % (a, b, a + b))print('%d - %d = %d' % (a, b, a - b))print('%d * %d = %d' % (a, b, a * b))print('%d / %d = %f' % (a, b, a / b))print('%d // %d = %d' % (a, b, a // b))print('%d %% %d = %d' % (a, b, a % b))print('%d ** %d = %d' % (a, b, a ** b))
"""使用type()檢查變量的類型Version: 0.1Author: 駱昊Date: 2018-02-27"""a = 100b = 12.345c = 1 + 5jd = 'hello, world'e = Trueprint(type(a))print(type(b))print(type(c))print(type(d))print(type(e))
在對變量類型進(jìn)行轉(zhuǎn)換時(shí)可以使用Python的內(nèi)置函數(shù)(準(zhǔn)確的說下面列出的并不是真正意義上的函數(shù),而是后面我們要講到的創(chuàng)建對象的構(gòu)造方法)。
int()
:將一個(gè)數(shù)值或字符串轉(zhuǎn)換成整數(shù),可以指定進(jìn)制。
float()
:將一個(gè)字符串轉(zhuǎn)換成浮點(diǎn)數(shù)。
str()
:將指定的對象轉(zhuǎn)換成字符串形式,可以指定編碼。
chr()
:將整數(shù)轉(zhuǎn)換成該編碼對應(yīng)的字符串(一個(gè)字符)。
ord()
:將字符串(一個(gè)字符)轉(zhuǎn)換成對應(yīng)的編碼(整數(shù))。
Python支持多種運(yùn)算符,下表大致按照優(yōu)先級從高到低的順序列出了所有的運(yùn)算符,我們會陸續(xù)使用到它們。
運(yùn)算符 | 描述 |
---|---|
[] [:] | 下標(biāo),切片 |
** | 指數(shù) |
~ + - | 按位取反, 正負(fù)號 |
* / % // | 乘,除,模,整除 |
+ - | 加,減 |
>> << | 右移,左移 |
& | 按位與 |
^ | | 按位異或,按位或 |
<= < > >= | 小于等于,小于,大于,大于等于 |
== != | 等于,不等于 |
is is not | 身份運(yùn)算符 |
in not in | 成員運(yùn)算符 |
not or and | 邏輯運(yùn)算符 |
= += -= *= /= %= //= **= &= |= ^= >>= <<= | (復(fù)合)賦值運(yùn)算符 |
說明: 在實(shí)際開發(fā)中,如果搞不清楚優(yōu)先級可以使用括號來確保運(yùn)算的執(zhí)行順序。
下面的例子演示了運(yùn)算符的使用。
"""運(yùn)算符的使用Version: 0.1Author: 駱昊"""a = 5b = 10c = 3d = 4e = 5a += b a -= c a *= d a /= eprint("a = ", a) flag1 = 3 > 2flag2 = 2 < 1flag3 = flag1 and flag2 flag4 = flag1 or flag2 flag5 = not flag1print("flag1 = ", flag1)print("flag2 = ", flag2)print("flag3 = ", flag3)print("flag4 = ", flag4)print("flag5 = ", flag5)print(flag1 is True)print(flag2 is not False)
"""將華氏溫度轉(zhuǎn)換為攝氏溫度F = 1.8C + 32Version: 0.1Author: 駱昊"""f = float(input('請輸入華氏溫度: ')) c = (f - 32) / 1.8print('%.1f華氏度 = %.1f攝氏度' % (f, c))
"""輸入半徑計(jì)算圓的周長和面積Version: 0.1Author: 駱昊"""import math radius = float(input('請輸入圓的半徑: ')) perimeter = 2 * math.pi * radius area = math.pi * radius * radiusprint('周長: %.2f' % perimeter)print('面積: %.2f' % area)
"""輸入年份 如果是閏年輸出True 否則輸出FalseVersion: 0.1Author: 駱昊"""year = int(input('請輸入年份: '))# 如果代碼太長寫成一行不便于閱讀 可以使用\或()折行is_leap = (year % 4 == 0 and year % 100 != 0 or year % 400 == 0)print(is_leap)
“Python支持哪些運(yùn)算符”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。