国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

詳解Python編程中基本的數學計算使用

2019-11-25 16:57:02
字體:
來源:轉載
供稿:網友


在 Python 中,對數的規定比較簡單,基本在小學數學水平即可理解。

那么,做為零基礎學習這,也就從計算小學數學題目開始吧。因為從這里開始,數學的基礎知識列位肯定過關了。

>>> 33>>> 33333333333333333333333333333333333333333333333333333333333333333333333333333333L>>> 3.2222223.222222

上面顯示的是在交互模式下,如果輸入 3,就顯示了 3,這樣的數稱為整數,這個稱呼和小學數學一樣。

如果輸入一個比較大的數,第二個,那么多個 3 組成的一個整數,在 Python 中稱之為長整數。為了表示某個數是長整數,Python 會在其末尾顯示一個L。其實,現在的 Python 已經能夠自動將輸入的很大的整數視為長整數了。你不必在這方面進行區別。

第三個,在數學里面稱為小數,這里你依然可以這么稱呼,不過就像很多編程語言一樣,習慣稱之為“浮點數”。至于這個名稱的由來,也是有點說道的,有興趣可以 google.

上述舉例中,可以說都是無符號(或者說是非負數),如果要表示負數,跟數學中的表示方法一樣,前面填上負號即可。

值得注意的是,我們這里說的都是十進制的數。

除了十進制,還有二進制、八進制、十六進制都是在編程中可能用到的,當然用六十進制的時候就比較少了(其實時間記錄方式就是典型的六十進制)。

具體每個數字,在 Python 中都是一個對象,比如前面輸入的 3,就是一個對象。每個對象,在內存中都有自己的一個地址,這個就是它的身份。

>>> id(3)140574872>>> id(3.222222)140612356>>> id(3.0)140612356>>>

用內建函數 id()可以查看每個對象的內存地址,即身份。

內建函數,英文為 built-in Function,讀者根據名字也能猜個八九不離十了。不錯,就是 Python 中已經定義好的內部函數。
以上三個不同的數字,是三個不同的對象,具有三個不同的內存地址。特別要注意,在數學上,3 和 3.0 是相等的,但是在這里,它們是不同的對象。

用 id()得到的內存地址,是只讀的,不能修改。

了解了“身份”,再來看“類型”,也有一個內建函數供使用type()。

>>> type(3)<type 'int'>>>> type(3.0)<type 'float'>>>> type(3.222222)<type 'float'>

用內建函數能夠查看對象的類型。<type ‘int'>,說明 3 是整數類型(Interger);<type ‘float'>則告訴我們那個對象是浮點型(Floating point real number)。與 id()的結果類似,type()得到的結果也是只讀的。

至于對象的值,在這里就是對象本身了。

看來對象也不難理解。請保持自信,繼續。

變量
僅僅寫出 3、4、5 是遠遠不夠的,在編程語言中,經常要用到“變量”和“數”(在 Python 中嚴格來講是對象)建立一個對應關系。例如:

>>> x = 5>>> x5>>> x = 6>>> x6

在這個例子中,x = 5就是在變量(x)和數(5)之間建立了對應關系,接著又建立了 x 與 6 之間的對應關系。我們可以看到,x 先“是”5,后來“是”6。

在 Python 中,有這樣一句話是非常重要的:對象有類型,變量無類型。怎么理解呢?

首先,5、6 都是整數,Python 中為它們取了一個名字,叫做“整數”類型的數據,或者說數據類型是整數,用 int 表示。

當我們在 Python 中寫入了 5、6,computer 姑娘就自動在她的內存中某個地方給我們建立這兩個對象(對象的定義后面會講,這里你先用著,逐漸就明晰含義了),就好比建造了兩個雕塑,一個是形狀似 5,一個形狀似 6,這就兩個對象,這兩個對象的類型就是 int.

那個 x 呢?就好比是一個標簽,當x = 5時,就是將 x 這個標簽拴在了 5 上了,通過這個 x,就順延看到了 5,于是在交互模式中,>>> x輸出的結果就是 5,給人的感覺似乎是 x 就是 5,事實是 x 這個標簽貼在 5上面。同樣的道理,當x = 6時,標簽就換位置了,貼到 6 上面。

所以,這個標簽 x 沒有類型之說,它不僅可以貼在整數類型的對象上,還能貼在其它類型的對象上,比如后面會介紹到的 str(字符串)類型的對象等等。

這是 Python 區別于一些語言非常重要的地方。

四則運算
按照下面要求,在交互模式中運行,看看得到的結果和用小學數學知識運算之后得到的結果是否一致

>>> 2+57>>> 5-23>>> 10/25>>> 5*210>>> 10/5+13>>> 2*3-42

上面的運算中,分別涉及到了四個運算符號:加(+)、減(-)、乘(*)、除(/)

另外,我相信看官已經發現了一個重要的公理:

在計算機中,四則運算和小學數學中學習過的四則運算規則是一樣的

要不說人是高等動物呢,自己發明的東西,一定要繼承自己已經掌握的知識,別跟自己的歷史過不去。偉大的科學家們,在當初設計計算機的時候就想到列位現在學習的需要了,一定不能讓后世子孫再學新的運算規則,就用小學數學里面的好了。感謝那些科學家先驅者,澤被后世。

下面計算三個算術題,看看結果是什么

4 + 24.0 + 24.0 + 2.0

看官可能憤怒了,這么簡單的題目,就不要勞駕計算機了,太浪費了。

別著急,還是要運算一下,然后看看結果,有沒有不一樣?要仔細觀察哦。

>>> 4+26>>> 4.0+26.0>>> 4.0+2.06.0

不一樣的地方是:第一個式子結果是 6,這是一個整數;后面兩個是 6.0,這是浮點數。

定義 1:類似 4、-2、129486655、-988654、0 這樣形式的數,稱之為整數
定義 2:類似 4.0、-2.0、2344.123、3.1415926 這樣形式的數,稱之為浮點數
對這兩個的定義,不用死記硬背,google 一下。記住愛因斯坦說的那句話:書上有的我都不記憶(是這么的說?好像是,大概意思,反正我也不記憶)。后半句他沒說,我補充一下:忘了就 google。

似乎計算機做一些四則運算是不在話下的,但是,有一個問題請你務必注意:在數學中,整數是可以無限大的,但是在計算機中,整數不能無限大。為什么呢?(我推薦你去 google,其實計算機的基本知識中肯定學習過了。)因此,就會有某種情況出現,就是參與運算的數或者運算結果超過了計算機中最大的數了,這種問題稱之為“整數溢出問題”。

整數溢出問題
這里有一篇專門討論這個問題的文章,推薦閱讀:整數溢出

對于其它語言,整數溢出是必須正視的,但是,在 Python 里面,看官就無憂愁了,原因就是 Python 為我們解決了這個問題,請閱讀下面的拙文:大整數相乘

ok!看官可以在 IDE 中實驗一下大整數相乘。

>>> 123456789870987654321122343445567678890098876*1233455667789990099876543332387665443345566152278477193527562870044352587576277277562328362032444339019158937017801601677976183816L

看官是幸運的,Python 解憂愁,所以,選擇學習 Python 就是珍惜光陰了。

上面計算結果的數字最后有一個 L,就表示這個數是一個長整數,不過,看官不用管這點,反正是 Python 為我們搞定了。

在結束本節之前,有兩個符號需要看官牢記(不記住也沒關系,可以隨時 google,只不過記住后使用更方便)

整數,用 int 表示,來自單詞:integer
浮點數,用 float 表示,就是單詞:float
可以用一個命令:type(object)來檢測一個數是什么類型。

>>> type(4)<type 'int'>  #4 是 int,整數>>> type(5.0)<type 'float'> #5.0 是 float,浮點數type(988776544222112233445566778899887766554433221133344455566677788998776543222344556678)<type 'long'>  # 是長整數,也是一個整數

除法
除法

主站蜘蛛池模板: 深州市| 宿松县| 云阳县| 济源市| 成安县| 江达县| 曲阳县| 进贤县| 水富县| 塔城市| 蓝山县| 台江县| 临澧县| 井研县| 修文县| 遵义市| 南丹县| 进贤县| 噶尔县| 铜山县| 策勒县| 邹城市| 岳阳县| 新龙县| 唐山市| 闵行区| 西充县| 井研县| 凌云县| 师宗县| 平舆县| 巨野县| 修水县| 怀安县| 麟游县| 武乡县| 常州市| 湖州市| 巨鹿县| 富源县| 东辽县|