2017年8月23日 星期三

Python ê 基礎 -- Module

Module 是啥乜?


Module (台羅: má-tsìo, 華語: 模組),就是囥寫便便 ê 程式。英文有時講是 Libraries,意思是圖書館。華語有時嘛講函式庫(hâm-sit-khòo) 。Module 是共一寡原料組做半成品,半成品就是先做到一个程度, 你捎幾个 Module 鬥鬥咧真緊就會使出貨。Python 的 Module,就是予你捎來,鬥鬥咧就會當寫出予你寫出予人呵咾甲會觸舌的程式。

咱踮佇 用 Python 掠股票的價數 中方(tiőng)使用著 urllib2 和  BeautifulSoup 兩的 Module,就算咱毋知真深 ê HTML 和網站智識,咱干焦了解按怎用這兩的 Module,毋免寫真複雜 ê HTML 處理程式,嘛免寫複雜的程式,來和網站交談,就會使達成咱的目的。

使用系統本底就有 ê Module


使用程式庫,愛先共伊掠--入來,這就愛用 import:
>>> import math
>>> math.cos(1)
0.5403023058681398

math 會當換做其他 ê module。所以,普通咱寫 python 程式,是先去網路頂仔揣看有啥物好的 module,共伊的名記起來,import 入來。紲落來著會當開始使用:

這是三角函數 ê cosine。你若是欲知影這咧函數有啥物會當用也是按怎用? 當然,你問萬能 ê Google,抑是踮咧網路,論壇揣資料,是上基本--ê。佇 Python Shell裡,你會使用 help() 來問:

>>> help(math)

伊就會共伊所有的內才反予你看。嘛會使用 help(math.cos) 干焦看 cos 佇創啥物。

佇頂仔的例tiőng,欲使用 math ê 物,你總是愛先寫 math.XXXX(),有時你捷捷用,逐擺攏愛寫 math 這咧名足麻煩。有時 Module 名lò-lò長,閣較囉嗦。這咧時陣,咱會當干焦 import 一部分:
>>> from math import cos
>>> cos(1)
0.5403023058681398

按呢,cos 就干焦是你家己寫好的函式。你若是毋但欲挃 cos 一咧,所有 math module ê 函式攏欲挃,會使一擺攏掠--入來:
>>> from math import *
>>> cos(1)
0.5403023058681398
>>> sin(1)
0.8414709848078965


咱嘛會使共伊換名,用咱佮意的方式叫伊:
>>> import math as madi
>>> madi.cos(1)
0.5403023058681398


搜揣 Module ê 路草

Python 本身就有佮真濟 Module.  親像頂仔 ê math module, 就是你佇安裝 Python 時順紲佮予你--ê. 你嘛會使親像 用 Python 掠股票的價數, 另外用 pip 抑是其他 ê 工具來安裝你欲挃 ê Module. 這寡 Module 攏是囥佇檔案系統內底, 等到有人使用 import ê 時, Python 就會去揣看有你欲挃个 Module 無?

欲去佗位揣咧? 伊是 sys.path 這个變數指定--ê, 你會使共伊印出來:
>>> import sys
>>> print(sys.path)
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/black/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.6/dist-packages']

添新 ê 搜揣路線

有時, 你若是寫一寡家己 ê Module, 會想欲共伊囥入去搜揣 ê 路草中方, 咱會使kā伊添入去 sys.path 內底:
sys.path.append('/my/new/path')

你共 Module 囥佇 /my/new/path, 伊就會去遐揣你 ê module


沒有留言:

佇 Linux 來看GPX 檔案

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