0% found this document useful (0 votes)
20 views65 pages

Python 1

本文件是關於一門課程的教學大綱,涵蓋了Python基礎、函式、模組及Line Bot的應用。課程安排包括多個主題,從基礎到進階,並包含實作任務如計算三角形面積和猜數字遊戲。最終將進行專案提案和展示,強調實際應用與開發技能的培養。

Uploaded by

bear.c
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views65 pages

Python 1

本文件是關於一門課程的教學大綱,涵蓋了Python基礎、函式、模組及Line Bot的應用。課程安排包括多個主題,從基礎到進階,並包含實作任務如計算三角形面積和猜數字遊戲。最終將進行專案提案和展示,強調實際應用與開發技能的培養。

Uploaded by

bear.c
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

從 ChatGPT 到 Line Bot

Python 語言創新應用探索

詹力韋 副教授 & 劉子齊 博士生


Syllabus

● 時間
○ 11/23 ↠ Python 基礎總整
○ 11/30 ↠ Python函式和模組
○ 12/07 ↠ Line Bot基礎應用
○ 12/14 ↠ Line Bot進階應用
○ 12/21 ↠ Project Proposal
○ 12/28 ↠ Day off (Final Exam Week)
○ 01/04 ↠ Project Presentation
Syllabus

● 時間
○ 11/23 ↠ Python 基礎總整
○ 11/30 ↠ Python函式和模組
○ 12/07 ↠ Line Bot基礎應用
○ 12/14 ↠ Line Bot進階應用
○ 12/21 ↠ Project Proposal
○ 12/28 ↠ Day off (Final Exam Week)
○ 01/04 ↠ Project Presentation
Table of Contents

工具安裝 環境安裝 善用 Debugger Python 語法

Python 變數型態 f-string if-else for loop

while loop break List Dictionary

Task / Homework
Task / Homework 使用海龍公式計算三角形面積

要求:
使用者輸入三角形的三邊長(例如:3, 4, 5)計
● 目標:請撰寫一個Python程式,讓使用者 算三角形的半周長利用海龍公式計算三角形的
輸入三角形的三邊長,然後利用海龍公式 面積輸出面積結果
(Heron's formula)計算並輸出三角形
的面積。 提示:

● 海龍公式:面積 = √(s(s-a)(s-b)(s-c)) 1. 使用 input() 函式獲取使用者輸入


2. 使用 float() 函式將輸入的數字轉換為浮
● 其中,a、b、c 分別為三角形的三邊長,s 點數
為半周長,即 s = (a+b+c)/2。 3. 計算半周長和面積
4. 使用 print() 函式輸出結果
5. 考慮使用 [Link]() 函式計算平方根
Task / Homework Guessing Number Game

目標:
請撰寫一個Python程式,隨機產生 1~50 的一個數
字讓使用者去猜,如果猜錯了要提示使用者應該往
更大或更小的數字猜

提示:
1. 使用 input() 函式獲取使用者輸入
2. 使用 int() 函式將輸入的數字轉換為整數
3. 使用 print() 函式輸出結果
4. 考慮使用下面兩行程式碼來生成亂數
a. import random
b. ans = [Link](1, 50)
Table of Contents

工具安裝 環境安裝 善用 Debugger Python 語法

Python 變數型態 f-string if-else for loop

while loop break List Dictionary

Task / Homework
List SUPER IMPORTANT!!!
List Access the elements through for loop
List Access the elements through index in for loop
List Access the index in for loop
List Append
List Remove
List Pop
List Del
Table of Contents

工具安裝 環境安裝 善用 Debugger Python 語法

Python 變數型態 f-string if-else for loop

while loop break List Dictionary

Task / Homework
Dictionary SUPER IMPORTANT, TOO!!!

● Python 另一個非常重要的資料型態 Dictionary


● 同樣是一個容器 (集合) 可以用來存放不同資料型態的資料
● 它的每一個元素是以鍵 (Key) 及值 (Value) 構成
● 由 {} 符號將所有元素括起來
Dictionary List vs. Dictionary
Dictionary Key & Value
Dictionary Declaring a Dictionary
Dictionary Access the key in for loops
Dictionary Access the key & value in for loops
Dictionary Editing dictionary
Dictionary Printing a single value through key
Dictionary Insert/ Update dictionary
Dictionary Access key / value in for loops
Dictionary Special Case (?
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

28
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

29
Functions What is function?

➔ 函數是一個可重複用的程式碼區塊,可以執行特定的任務

➔ Python提供了許多內建函數
◆ 如 print()、input()

➔ 允許使用者定義自己的函數

30
Functions Defining a function

➔ def關鍵字來定義函數
➔ 以下是一個簡單的函數

◆ 該函數接受一個參數並打印該參數。

31
Functions Calling a function

➔ 一旦你定義了一個函數,你就可以在你的程式中調用它

32
Functions Defining a function

➔ def關鍵字來定義函數
➔ 以下是一個簡單的函數

◆ 該函數接受兩個參數並打印該參數。

33
Functions Return Value

➔ 函數可以返回一個值
➔ 這個值可以被賦值給一個變量
➔ 可以使用return語句來返回一個值

34
Functions Default Parameter

➔ 可以為函數的參數提供默認值
➔ 如果調用函數時,沒有提供該參數的值,則使用默認值。

35
Functions 可變長度之參數 - *args

➔ *args : arguments
◆ 傳遞一個可變的列表給函數
◆ 這個列表的長度是未知的,可以為0

36
Functions 可變長度之參數 - **kwargs

➔ **kwargs : keyword arguments


◆ 將一個可變的字典傳遞給函數
◆ 參數字典的長度一樣可以為 0 或為其他值

37
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

38
Practice 1

➔ calculate_area(a, b, c) 函數
◆ 用於計算三角形的面積,使用海龍公式(Heron's formula)。此公
式適用於所有三角形,只需知道三邊長就可以。

➔ calculate_bmi(weight, height) 函數
◆ 用於計算身體質量指數(Body Mass Index, BMI)。此公式需要知
道體重(公斤)和身高(公尺)。

39
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

40
套件安裝

venv pip conda

41
套件安裝

venv pip conda

42
套件安裝 What is conda?

➔ pip : 套件管理員
➔ venv : 工作環境管理員
➔ conda : 「兩個願望,一次滿足」

U =
43
套件安裝 Download Miniconda

Search: Miniconda Download


44
套件安裝 Cond Setup

➔ conda config --set auto_activate_base false


➔ conda create -n ENV_NAME python=3.11
➔ conda activate ENV_NAME

45
套件安裝 Useful conda commands

➔ conda --version
➔ conda list
➔ conda --help
➔ conda create --name ENV_NAME
➔ conda activate ENV_NAME
➔ conda install PACKAGE
➔ conda deactivate
➔ conda env list

46
套件安裝 What is PIP?

➔ 一個 Python 安裝管理套件工具

➔ 任何與 Python 有關的套件,基本上都會用到 pip 來安裝或是更新相關套件

➔ 3.4 版本以上或是 2.7.9 版本以上的 Python 都已經自帶 pip

47
環境安裝 下載 Python

下載連結:[Link]

48
套件安裝 Common PIP commands

➔ pip list
➔ pip --version
➔ pip install PACKAGE_NAME
➔ pip uninstall PACKAGE_NAME
➔ pip show PACKAGE_NAME

49
套件安裝 Why PIP & Conda?

➔ 隔離性:每個虛擬環境都有自己的 Python 解釋器和獨立的庫

➔ 重現性:當你在一個虛擬環境中開發一個專案時,你可以將該環境的配置導出到一
個文件中

➔ 簡單性:使用虛擬環境可以讓你的全局 Python 環境保持乾淨整潔

➔ 兼容性:如果你的專案需要使用一個特定版本的庫,你可以在虛擬環境中安裝它

➔ 安全性:使用虛擬環境可以提高安全性。

50
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

51
Line Bot 介紹

52
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

53
Line Messaging API

➔ Messaging API(Application Programming Interface)


➔ LINE官方定義的回應訊息標準介面
➔ 包含文字、貼圖、影像、聲音及罐頭訊息等

54
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

55
Line Dev 申請

Link: [Link]

56
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

57
Setup Channel

Link: [Link]
58
Table of Contents of Week 2

Functions Practice 1 套件安裝 Line Bot 介紹

Line Messaging API Line Dev 申請 Setup Channel

Django 專案 & Bot Setup Bot 運算邏輯設計 NGROK

Deploy Bot

59
Django 專案 & Bot Setup What is Django

➔ 一個由 Python 寫成的免費而且開源的 Web 應用程式框架


➔ 最初被設計用於具有快速開發需求的新聞類網站
◆ 目的是為了實現簡單快捷的網站開發
➔ 快速建立網站和後端的服務應用

60
Django 專案 & Bot Setup 安裝相關套件

61
Django 專案 & Bot Setup Setup a Django project & app

➔ cd Desktop
➔ mkdir <your_project_name>
➔ cd <your_project_name>
➔ django-admin startproject mylinebot .
◆ 建立 Django 專案

62
Django 專案 & Bot Setup Setup a Django project & app

➔ python [Link] startapp echobot


◆ 建立 Django 應用程式

63
Django 專案 & Bot Setup Setup a Django project & app

➔ python [Link] migrate


◆ 進行資料遷移

64
Syllabus

● 時間
○ 11/23 ↠ Python 基礎總整
○ 11/30 ↠ Python函式和模組
○ 12/07 ↠ Line Bot基礎應用
○ 12/14 ↠ Line Bot進階應用
○ 12/21 ↠ Project Proposal
○ 12/28 ↠ Day off (Final Exam Week)
○ 01/04 ↠ Project Presentation

You might also like