[3] Python數值

1. 概述

在本文中我會介紹關於在Python中各種數值類型及使用方法。加粗體代表我們已經介紹的內容,斜體代表新增內容。

  • 計算機編程的原理簡要介紹
  • 集成開發環境PyCharm
  • 變數名、數字、字元串、列表
  • 句式
  • 輸入和輸出
  • 條件判斷語句
  • 循環語句
  • 注釋
  • 函數
  • 模塊和引入
  • 各類數據結構

2. 數字

Python支持四種類型的數值類型:

  • 整數(int):顧名思義,正整數、零和負整數。
  • 布爾型(bool):對或者錯。
  • 浮點數(float):有小數點的數都叫浮點數,包括科學計數法(不管有沒有小數點的科學計數法都是浮點數)。
  • 複數(complex):a+bj,或者complex(a,b),a為實部,b為虛部,a和b不管有沒有小數點都是浮點數。我們學數學的時候都是a+bi,但是自從我學了電路之後我發現更常用的是a+bj,因為i代表電流,之後我發現Python定義一個複數也用a+bj,不知道是不是也是因為類似原因。

舉例:整數:369, +711, 0, -0, -8, -5201314, 0x6F, 0xbad1bad1, -0b11010110布爾型:True, False浮點數:0.0, 3.14, 1.414, .009, -1.3, -.6, 13e2, 1.3e14, -99.588E10複數:1 + j, -10 + 9j, -8.8j, 9.777j + 3, complex(25, 333.333)

開頭為0x的是十六進位,開頭為0b的是二進位,不了解的同學先可以暫時忽略,我們以後會講到。

3. 數值運算

基本數值運算有那麼幾個:加減乘除餘數和乘方,具體如下,

  • 加法: +
  • 減法: -
  • 乘法: *
  • 除法:/
  • 除法(只取整數部分)://
  • 餘數:%
  • 乘方:**

這裡有倆除法,一條杠的除法就是可以理解為正常除法,3 / 2能算出1.5,2 / 2能算出1.0,用這種除法不論除數和被除數是否是整數還是浮點數或者是布爾型(接下來會解釋),結果均為浮點數。兩條杠的除法,若除數和被除數都是整數,結果也肯定是整數,但是不管除不除盡,都只取整數部分,小數部分全部捨去,沒有四捨五入,如果除數和被除數兩方有一個或者兩者都是浮點數,結果就是浮點數,但是數值還是只取整數部分,小數部分也全部歸零,沒有四捨五入。

我們可以用PyCharm下邊的Python console來玩玩,有興趣的同學也可以嘗試各種各樣不同的值,比如用一個浮點數除以一個浮點數來算餘數。

4. 布爾型的數值運算

其實布爾型就是用來判斷東西對錯的,因此它只有兩個值,True或者False,如果非得放進公式里加減乘除,True相當於1,False相當於0。布爾型會在以後條件判斷中大量應用,我也會在介紹條件判斷語句的章節里介紹正誤表、一元和二元運算。

5. 運算優先順序

在Python中,運算長的公式是按照我們日常數學中的運算順序,即正負號>乘方>乘除取余>加減,同級運算按照從左往右的順序。

6. 一些Python內置函數

知道了數字,我們可以做一些簡單的數學題了,比如「全班50個小朋友,平均每人有8個蘋果,那麼這個班一共有多少蘋果?」之類的應用題。當然,Python的強大之處在於,它還給我們提供了各類內置函數供我們解決更高深的問題,我在這裡為大家整理了一些,當然函數不止那麼點,有興趣的同學可以上網搜索「Python 3 內置函數」。

abs(x): 取x的絕對值min(x1, x2, x3, ...): 輸入一串數,取最小值max(x1, x2, x3, ...): 輸入一串數,取最大值pow(x, y): 計算x的y次方,和 x ** y 一樣pow(x, y, z): 計算x的y次方再除以z的餘數,和 x ** y % z 一樣bin(x): 把x轉換為二進位oct(x): 把x轉換為八進位hex(x): 把x轉換為十六進位round(x): 四捨五入x到個位,結果為最近偶數,類型是整數,這個四捨五入在Python3中對於十分位為5的數來說比較特殊,比如2.5、4.5、6.5等個位是偶數的,全部捨去,結果為2、4、5;而1.5、3.5、7.5這些奇數個位按照「五入」的方式得到2、4、8round(x, n): 四捨五入x到小數點後n位,結果為浮點數。如果n為2,就是四捨五入到百分位;如果為0就是到各位,結果仍為浮點數;如果為-1就是四捨五入到十位,結果仍為浮點數int(x): 將x轉換為整數,不四捨五入,直接只取整數部分,結果為整數type(x): 查看x的數據類型

7. math數學模塊

對於很多其他的比如三角函數、對數、根號等等,我們可以從Python里寫好的數學模塊直接拿來用。首先,我們要在程序最上方寫上:

from math import *

意思是從數學模塊中,引入所有的函數和變數。

接下來我們就能盡情使用以下函數和變數了:

pi: 圓周率3.1415926...e: 自然常數2.71828...sqrt(x): 求x的平方根,x必須是非負數sin(x): 正弦,x必須是弧度制cos(x): 餘弦,x必須是弧度制tan(x): 正切,x必須是弧度制exp(x): e的x次方log10(x): 以10為底數,求x的對數log(x): 這個相當於ln,以e為底數,求x的對數log(x, n): 以n為底數,求x的對數degrees(x): 把x從弧度轉換為角度radians(x): 把x從角度轉換為弧度,可以把這個放進上面的三角函數中使用,如sin(raidians(30)),得出0.5,但實際由於演算法問題得出0.499999,用round函數四捨五入一下就行了

當然不止以上這些,大家可以根據自己需要查一下math模塊尋找想要的函數。

8. 解一道題

一個直角三角形,直角邊分別為10和21,求三角形的面積、斜邊的長,以及以此斜邊做直徑的圓的面積。

from math import *leg_a = 10leg_b = 21area_triangle = leg_a * leg_b / 2hypotenuse = sqrt(leg_a ** 2 + leg_b ** 2)radius = hypotenuse / 2area_circle = pi * radius ** 2print("The area of this triangle is")print(area_triangle)print("The length of the hypotenuse is")print(hypotenuse)print("The area of the circle is")print(area_circle)

建議大家用手打一遍這段代碼,變數名不需要一樣,最後運行出來結果應該是:

The area of this triangle is105.0The length of the hypotenuse is23.259406699226016The area of the circle is424.9004063980196

PyCharm頁面如下:

至於在很上面提到的二進位八進位十六進位我們以後會提到。如果對本文有什麼建議意見請在評論區留言,謝謝!


推薦閱讀:

如何在阿里ECS雲端運行Jupyter Notebook進行機器/深度學習?
分分鐘,殺入Kaggle TOP 5% 系列(2)

TAG:Python | 计算机科学 | 编程 |