VJ 109,11,26
HuiXillya 110,12,2
函式庫在Python 中叫做套件,意思是一樣的。
函式庫可以是一個文件,包含了一系列你想引用在你的目前程式中的函式。
要建立一個套件(函式庫),只需將你想要的程式碼保存在一個副檔名為 .py
的文件中。
例如我們將上次寫出來用作印出直角三角形的程式碼存成 mymodule.py
。那麼這個套件就叫做 mymodule
。
def rTr(n:int): for i in range(n): for j in range(i): print('*',end='') print()
試著將上程式碼的函式寫成函式庫,並執行
在本地新增文字檔,附檔名要叫 py
記得要打檔案丟到colab旁邊的檔案區
我們可以用 import
關鍵字來引用我們剛剛創建的 mymodule
套件,從而使得我們可以使用裡面的函式。
注意: 存檔時目錄要相同才能引用。
import mymodule mymodule.rTr(5)
注意:當使用套件中的函式時,請使用語法:mod.func()
。
套件可以像上面包含函數,也可以包含各種類型的變數(串列、字典、物件等),當然也可以被引用。
例如我們將下面的字典存成 mymodule.py
person1 = { "name": "John", "age": 36, "country": "Norway" }
然後引用名為 mymodule
的套件,接著存取字典 person1
。
import mymodule a = mymodule.person1["age"] print(a) #輸出: 36
試著將上程式碼中的字典加入函式庫,並使用
下載NCHUIT.py並執行其中的 hello 函式
我們可以用 as
關鍵字來創建一個別名。通常用來縮短程式碼。
例如為剛剛函字典的套件 mymodule
創建一個名為 mx
的別名。
import mymodule as mx a = mx.person1["age"] print(a) #輸出: 36
用 dir()
函數可以列出一個套件中所有的函數(或變數)。
import platform x = dir(platform) print(x)
注意:dir()
函數所有套件都可以用,自己存的套件也可以用。
列出 NCHUIT 裡的所有東西
有時候不是不會寫,只是需要一點點小小的提示
各位在使用function時會不會忘記要傳甚麼引數進去?
或者忘記會回傳甚麼
讓help幫幫你
help(print) #不要打括號,我們是把'print'傳入,不是呼叫
同時,也是你打到一半會跑出來的提示
查看 NCHUIT 的說明
之後看看裡面各種函式的說明
新增 hello 的提示
可跳過
參考一下其他函式的寫法
在Python中,有幾個內建套件,隨你引用。
例如引用並使用 platform
套件。
import platform x = platform.system() print(x)#輸出目前的作業系統
https://docs.python.org/zh-tw/3/library/random.html
random.seed(a=None, version=2)
初始化随机数生成器。如果 a 被省略或为 None ,则使用当前系统时间。 如果操作系统提供随机源,则使用它们而不是系统时间(有关可用性的详细信息,请参阅 os.urandom() 函数)。
random.randint(a, b)
返回随机整数 N 满足 a <= N <= b。相当于 randrange(a, b+1)。
範例:
輸出隨機一個1~n的整數
import random n=10 random.seed() print(random.randint(1, n))
假設骰子有1-6點,擲出每種點數的機率都是1/6
輸入整數n,回傳投n顆骰子的點數
修改上述的程式碼,使之回傳n顆骰子擲m次的分布情形
https://docs.python.org/zh-tw/3/library/time.html
交給你們了,自己試試看
倒數計時器
輸出n 至 0 (一秒輸出一個字)
hint 搜尋'sleep'
pip˽install˽套件名稱1[˽套件名稱2˽...(選用)]
製圖作表
import matplotlib.pyplot as plt dic={0:0} for i in range(50): dic[i]=i+1 plt.bar(list(dic.keys()),list(dic.values()), color='b') plt.show()
把剛剛練習8.5的數值放入圖表中
製作分布圖
可發送http請求,並解析
pip install --upgrade pip requests beautifulsoup4
在colab的環境下
上述指令前面都須加上驚嘆號
如:
! pip install --upgrade requests beautifulsoup4
import requests import bs4 respone = requests.get(url='https://www.ptt.cc/bbs/C_Chat/index17616.html') respone.encoding = 'utf-8' root = bs4.BeautifulSoup(respone.text, 'html.parser') titles = root.find_all('div',class_='title') for x in titles: t = x.find('a') if t: print(t.string)
pip uninstall -y openpyxl tablepyxl requests beautifulsoup4 django line-bot-sdk Pillow IPython pytz numpy flask