2017年5月16日 星期二

進一步 ê 數學, 順紲介紹程式庫

咱頂擺有講著基礎數學的 +, -, *, / 運算. 毋過, 數學的物件閣真濟, 按呢是無夠。

數較簡單, 用 ** 就會使, 像平方 22 , 立方23, 就是

$ python3
>>> 2**2
4
>>> 2**3
8

無論偌濟次方, 攏無siáng 問題. 若是開平方 2咧? 開立方咧? 當然, 咱會使用數學智識, 開平方就是指數 1/2, 開立方就是指數 1/3/, 所以

>>> 2**(1/2)
1.4142135623730951
>>> 2**(1/3)
1.2599210498948732

閣落來, 像對數[tuì-sòo] Log, 圓周率[înn-tsiu-lu̍t] π, 幾何 的 sin, cos, 這寡無法度逐項攏用數學智識uì上基礎來推論出來, 傷了工, 閣僫做, 嘛失去學程式的意義.

學程式有一咧重要的觀念: 莫重複發明輪仔

學寫程式, 就是欲利用電腦削削叫个計算速度, 閣有濟濟人寫好的家私. 你想欲做的代誌, 檢采較早有人想過, 嘛做出來也. 咱若會當著 in 寫好的家私, 直接來用, 會使咱省足濟時間咧。

學會曉 Python, 你就徛佇這咧磅空口, 這磅空內有濟濟个軟體寶藏. 看你欲入來無? 欲行外遠? 內面个寶藏, 你一世人嘛用袂了。

咱以數學來講, 若欲較深咧, 會使利用 math 這咧 module. Module 這个概念, 後擺咱會閣較詳細介紹, 佇遮[sing]知使用方式.

欲使用 math 這个 module, 咱愛先共伊掠入來目前个環境, 這咧命令號做 import (進口).

$ python3
>>> import math

紲落來, 你就會使用伊內底个家私. 伊的物件, 攏是 math.XXX() 个樣, 比如講, 欲算對數 log2 10, 就是

>>> math.log(10, 2)
3.3219280948873626
>>> math.log2(10)
3.321928094887362
>>>

頂兩个是仝款ê, 只是 math.log2() 是專門用佇 log 2 base 个, math.log() 第二个是會使變ê, 你欲tī 2, 3, 4, ... 啥物 base 攏會使.

你若袂用特殊个固定數 (constant), 親像圓周率 π, 自然對數 e,

>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045

賰个閣有足濟 function,像 cos(), sin(), tan(), .. 三角函數(Trigonometric functions), 求上大公因數 gcd(), 角度單位轉換 degrees(), radians(), 濟佮講袂了.
若是按呢, 欲按怎使用佮查咧? 你會使用網路頂 ê 文件, Python 个 文件做囉真好, 你會使去查, 嘛會使直接佇 Python3 shell 中央(tiong-ng), 用 help() 來查

>>> help(math)
....
>>> help(math.log)

先用 help(math) 大概 [tāi-khài] 查 math 有啥物函數, 揣著你愛个, 比論講 log(), 才閣用 help(math.log) 查伊的詳細用法.

當然, 數學遐闊, 嘛毋是 math 一咧 module 有tha̋ng 總包. 好佳哉 Python 嘛毋是干焦 math 這一咧數學函數, 基礎个閣有 numbers 來 數字个處理, 像複數 (complex number),  cmath, decimal, fractons, random, statistics. 橫直, 等你欲用著个時才去揣就好阿

沒有留言:

佇 Linux 來看GPX 檔案

最近定定有戶外活動。使用𤆬路機 (GPS) 來記錄行過的路線。普通我記錄路線,攏是用手機仔抑是專門个𤆬路機,罕得用電腦來看。 毋過,"仙人拍鼓有時錯,跤步踏差啥人無"。有一擺我無細膩,袂記得共一擺活動的路線收煞起來,閣直接開始記錄下一擺的活動,按呢共幾落...