SlideShare a Scribd company logo
課程須知
1
請先取得電腦
Administrator 權限
投影片網址
2
Python 實戰
WMS 系統開發
3
WMS
收料 發料 發料退回
物料管理 廠商管理 倉儲位管理
智慧料架串接 AGV 串接
盤點
出貨理貨 加工入庫
收料單
工令
廠商主檔
材料主檔
客戶訂單
ERP
採購
收料
工令
BOM
MES
工令
排程
生產計畫
產品文件
工令
生產計畫
4
課程大綱
5
模組 時數 日期 備註
1. Python 語言 10 9/4、9/6、9/11、9/13、9/18
2. FastAPI 4 9/20、10/2 9/25、9/27 停課
3. HTTP 4 10/4、10/9 10/11、10/16 停課
4. 前後端資料交換 4 10/18、10/23
5. 資料庫 6 10/25、10/30、11/1
6. 測試 5 11/6、11/8、11/13
7. Authentication 6 11/13、11/15、11/20、11/22
8. Authorization 4 11/22、11/27、11/29
9. 倉管系統 10 11/29、12/4、12/6、12/11、12/13、12/18
10. SMT 進料助手 2 12/18、12/20
11. Git 3 12/20、12/27 12/25 停課
12. 正式環境配置 7 1/3、1/8、1/10、1/15 1/1 停課
65 6
1. Python 語言
7
1.1 Python 簡介
8
Python 之父
• 吉多・范羅蘇姆(Guido van Rossum)
• Python 誕生於 1989 年聖誕節期間
,
原本
只是個人興趣的業餘項目。
9
放假不要
耍廢
• NumPy
• SciPy
• pandas
資料科學
• 電子書管理工具 Calibri
• 音樂播放器 Quod Libet
• 影片剪輯工具 OpenShot Video Editor
桌面端 app
Python 應用領域
10
• 電商後端(Saleor)
• 內容網站後端(Wagtail)
• ERP 系統(Odoo、ERPNext)
• CRM 系統(Creme)
Web / App 後端
• PyTorch
• scikit-learn
AI 框架
📵 不適合行動端 app 開發
👾 不適合遊戲開發
• 3D 繪圖 Blender
• 辦公套件 LibreOf
fi
ce、Excel
• 資料庫 SQL Server
• 商業智慧 Power BI
應用腳本
Python 普及度
11
熱門語言榜中榜 No. 1
👍
https://www.python.org/downloads/
安裝 Python
12
執行 Python REPL
13
$ python3
Python 3.12.4 (main, Jun 6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> print('Hello, World!’)
Hello, World!
>>>
>>> exit()
Python REPL
Python 套件
14
• Python 安裝附帶的套件
,
如
:
datetime、
math、urllib 等等。
3⃣ 第三方套件
1⃣ 第一方套件
• 上架於 PyPI(Python Package Index
,
https://
pypi.org/)的套件
,
需透過套件管理工具 pip
另外安裝。
$ pip install python-cowsay
終端機安裝 python-cowsay 套件
$ pip uninstall python-cowsay
終端機移除 python-cowsay 套件
>>> from cowsay import cowsay
>>>
>>> print(cowsay('鴨勒鴨勒'))
______
< 鴨勒鴨勒 >
------
 ^__^
 (oo)_______
(__) )/
||----w |
|| ||
Python REPL
1.2 VSCode 開發
環境建置
15
安裝 VSCode
16
https://code.visualstudio.com/
安裝 Python & Jupyter extension
17
1.3 Hello, World!
18
Hello, World!
19
print('Hello, World!')
hello_world.py
$ python3 hello_world.py
Hello, World!
終端機
1.3 Jupyter
notebook
20
安裝 Jupyter notebook 核心套件
21
3⃣ 第三方套件 • 上架於 PyPI(Python Package Index
,
https://pypi.org/)的套件
,
需另外安裝。
• 套件管理工具 pip。
$ pip install ipykernel
終端機安裝 Jupyter notebook 核心套件
ipykernel
使用 Jupyter notebook
22
• Jupyter notebook 放練習程式碼的好所在。
• 副檔名 .ipynb。
print('Hello, World!')
hello_world.ipynb
Hello, World!
1.4 Python 語法
23
👅
Python 語法風格
24
• 程式碼區塊
:
沒有大括號
,
以四個空格縮排表示
• 命名慣例
:
snake_case
• 註解
:
井字號 #
def hello_world() -> str:
return 'Hello, World!'
# 調
用
函式並印出结果
print(hello_world())
Python
function helloWorld(): string {
return 'Hello, World!'
}
// 調
用
函式並印出结果
console.log(helloWorld())
JavaScript
• 程式碼區塊
:
以大括號+縮排表示
• 命名慣例
:
camelCase
• 註解
:
雙斜線 //
字串 str
Python 基本資料型態
25
greeting = 'Hello' # 哈囉、Bonjour、Chao
name = 'Carly' # Kitty、Daniel、Melody
print(f'{greeting} {name}, good morning')
字串與 f-string
Hello Carly, good morning
greeting = '哈囉'
name = 'Carly' # Kitty、Daniel、Melody
print(greeting[0])
字串切片
哈
• F-string 用於合成字串與值。 • 切片用於取出部份成員。
整數 int
Python 基本資料型態
26
in_stock = 10
issued = 20
total_qty = in_stock + issued
print(total_qty)
整數
30
運算子 運算 範例 備註
+ 加法 10 + 20 -> 30
- 減法 30 - 11 -> 19
* 乘法 2 * 3 -> 6
/ 除法 6 / 3 -> 2.0 結果為浮點數
// 除法取商 17 / 3 -> 5 結果為整數
% 除法取餘 17 / 3 -> 2
( ) 括號 6 / 2 * (1 + 2) -> 9 依四則運算原則
== 等於比較 6 == 6 -> True
!= 不等於比較 2 != 3 -> True
> 大於比較 3 > 2 -> True
>= 大於等於比較 3 >= 2 -> True
< 小於比較 3 < 2 -> False
<= 小於等於比較 3 <= 2 -> False
浮點數
fl
oat
Python 基本資料型態
27
in_stock_weight = 10
issued_weight = 20.2
total_weight = in_stock_weight + issued_weight
print(total_weight)
浮點數
20.2
• 浮點數
,
含小數數值。
• 運算中只要其中有浮點數
,
結果就會是浮點數。
• 大部份時候 Python 會自動處理好整數與浮點數
的運算
,
不須人類操心。
Ad

More Related Content

Similar to Python 實戰 WMS 系統開發 Python 實戰 WMS 系統開發 Python 實戰 WMS 系統開發 (20)

Python和web开发
Python和web开发Python和web开发
Python和web开发
moonbingbing
 
100902 wm4wps-py-webdev
100902 wm4wps-py-webdev100902 wm4wps-py-webdev
100902 wm4wps-py-webdev
Zoom Quiet
 
02.python.开发最佳实践
02.python.开发最佳实践02.python.开发最佳实践
02.python.开发最佳实践
Na Lee
 
2012 php conf slide PIXNET 如何使用 php
2012 php conf slide   PIXNET 如何使用 php2012 php conf slide   PIXNET 如何使用 php
2012 php conf slide PIXNET 如何使用 php
ronnywang_tw
 
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CIContinuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Kenny (netman)
 
軟體組裝心得分享
軟體組裝心得分享軟體組裝心得分享
軟體組裝心得分享
Wen Liao
 
Python01
Python01Python01
Python01
俊杰 李
 
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
 
LineBot.pptx
LineBot.pptxLineBot.pptx
LineBot.pptx
NCUDSC
 
CICD Workshop 20180922
CICD Workshop 20180922CICD Workshop 20180922
CICD Workshop 20180922
Earou Huang
 
Ubuntu 的架構
Ubuntu 的架構Ubuntu 的架構
Ubuntu 的架構
maolins
 
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
scott liao
 
Windows 環境下建構python 跑VMware API
Windows 環境下建構python 跑VMware API Windows 環境下建構python 跑VMware API
Windows 環境下建構python 跑VMware API
裝機安 Angelo
 
[2]futurewad樹莓派研習會 141127
[2]futurewad樹莓派研習會 141127[2]futurewad樹莓派研習會 141127
[2]futurewad樹莓派研習會 141127
CAVEDU Education
 
Python的module机制与最佳实践
Python的module机制与最佳实践Python的module机制与最佳实践
Python的module机制与最佳实践
Leo Zhou
 
用Raspberry PI學Linux驅動程式
用Raspberry PI學Linux驅動程式用Raspberry PI學Linux驅動程式
用Raspberry PI學Linux驅動程式
Stanley Ho
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
Wei Sun
 
[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204
CAVEDU Education
 
Python和web开发
Python和web开发Python和web开发
Python和web开发
moonbingbing
 
100902 wm4wps-py-webdev
100902 wm4wps-py-webdev100902 wm4wps-py-webdev
100902 wm4wps-py-webdev
Zoom Quiet
 
02.python.开发最佳实践
02.python.开发最佳实践02.python.开发最佳实践
02.python.开发最佳实践
Na Lee
 
2012 php conf slide PIXNET 如何使用 php
2012 php conf slide   PIXNET 如何使用 php2012 php conf slide   PIXNET 如何使用 php
2012 php conf slide PIXNET 如何使用 php
ronnywang_tw
 
Continuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CIContinuous Delivery Workshop with Ansible x GitLab CI
Continuous Delivery Workshop with Ansible x GitLab CI
Chu-Siang Lai
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Kenny (netman)
 
軟體組裝心得分享
軟體組裝心得分享軟體組裝心得分享
軟體組裝心得分享
Wen Liao
 
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
 
LineBot.pptx
LineBot.pptxLineBot.pptx
LineBot.pptx
NCUDSC
 
CICD Workshop 20180922
CICD Workshop 20180922CICD Workshop 20180922
CICD Workshop 20180922
Earou Huang
 
Ubuntu 的架構
Ubuntu 的架構Ubuntu 的架構
Ubuntu 的架構
maolins
 
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
scott liao
 
Windows 環境下建構python 跑VMware API
Windows 環境下建構python 跑VMware API Windows 環境下建構python 跑VMware API
Windows 環境下建構python 跑VMware API
裝機安 Angelo
 
[2]futurewad樹莓派研習會 141127
[2]futurewad樹莓派研習會 141127[2]futurewad樹莓派研習會 141127
[2]futurewad樹莓派研習會 141127
CAVEDU Education
 
Python的module机制与最佳实践
Python的module机制与最佳实践Python的module机制与最佳实践
Python的module机制与最佳实践
Leo Zhou
 
用Raspberry PI學Linux驅動程式
用Raspberry PI學Linux驅動程式用Raspberry PI學Linux驅動程式
用Raspberry PI學Linux驅動程式
Stanley Ho
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
Wei Sun
 
[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204
CAVEDU Education
 

Python 實戰 WMS 系統開發 Python 實戰 WMS 系統開發 Python 實戰 WMS 系統開發

  • 4. WMS 收料 發料 發料退回 物料管理 廠商管理 倉儲位管理 智慧料架串接 AGV 串接 盤點 出貨理貨 加工入庫 收料單 工令 廠商主檔 材料主檔 客戶訂單 ERP 採購 收料 工令 BOM MES 工令 排程 生產計畫 產品文件 工令 生產計畫 4
  • 6. 模組 時數 日期 備註 1. Python 語言 10 9/4、9/6、9/11、9/13、9/18 2. FastAPI 4 9/20、10/2 9/25、9/27 停課 3. HTTP 4 10/4、10/9 10/11、10/16 停課 4. 前後端資料交換 4 10/18、10/23 5. 資料庫 6 10/25、10/30、11/1 6. 測試 5 11/6、11/8、11/13 7. Authentication 6 11/13、11/15、11/20、11/22 8. Authorization 4 11/22、11/27、11/29 9. 倉管系統 10 11/29、12/4、12/6、12/11、12/13、12/18 10. SMT 進料助手 2 12/18、12/20 11. Git 3 12/20、12/27 12/25 停課 12. 正式環境配置 7 1/3、1/8、1/10、1/15 1/1 停課 65 6
  • 9. Python 之父 • 吉多・范羅蘇姆(Guido van Rossum) • Python 誕生於 1989 年聖誕節期間 , 原本 只是個人興趣的業餘項目。 9 放假不要 耍廢
  • 10. • NumPy • SciPy • pandas 資料科學 • 電子書管理工具 Calibri • 音樂播放器 Quod Libet • 影片剪輯工具 OpenShot Video Editor 桌面端 app Python 應用領域 10 • 電商後端(Saleor) • 內容網站後端(Wagtail) • ERP 系統(Odoo、ERPNext) • CRM 系統(Creme) Web / App 後端 • PyTorch • scikit-learn AI 框架 📵 不適合行動端 app 開發 👾 不適合遊戲開發 • 3D 繪圖 Blender • 辦公套件 LibreOf fi ce、Excel • 資料庫 SQL Server • 商業智慧 Power BI 應用腳本
  • 13. 執行 Python REPL 13 $ python3 Python 3.12.4 (main, Jun 6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> >>> print('Hello, World!’) Hello, World! >>> >>> exit() Python REPL
  • 14. Python 套件 14 • Python 安裝附帶的套件 , 如 : datetime、 math、urllib 等等。 3⃣ 第三方套件 1⃣ 第一方套件 • 上架於 PyPI(Python Package Index , https:// pypi.org/)的套件 , 需透過套件管理工具 pip 另外安裝。 $ pip install python-cowsay 終端機安裝 python-cowsay 套件 $ pip uninstall python-cowsay 終端機移除 python-cowsay 套件 >>> from cowsay import cowsay >>> >>> print(cowsay('鴨勒鴨勒')) ______ < 鴨勒鴨勒 > ------ ^__^ (oo)_______ (__) )/ ||----w | || || Python REPL
  • 17. 安裝 Python & Jupyter extension 17
  • 19. Hello, World! 19 print('Hello, World!') hello_world.py $ python3 hello_world.py Hello, World! 終端機
  • 21. 安裝 Jupyter notebook 核心套件 21 3⃣ 第三方套件 • 上架於 PyPI(Python Package Index , https://pypi.org/)的套件 , 需另外安裝。 • 套件管理工具 pip。 $ pip install ipykernel 終端機安裝 Jupyter notebook 核心套件 ipykernel
  • 22. 使用 Jupyter notebook 22 • Jupyter notebook 放練習程式碼的好所在。 • 副檔名 .ipynb。 print('Hello, World!') hello_world.ipynb Hello, World!
  • 24. Python 語法風格 24 • 程式碼區塊 : 沒有大括號 , 以四個空格縮排表示 • 命名慣例 : snake_case • 註解 : 井字號 # def hello_world() -> str: return 'Hello, World!' # 調 用 函式並印出结果 print(hello_world()) Python function helloWorld(): string { return 'Hello, World!' } // 調 用 函式並印出结果 console.log(helloWorld()) JavaScript • 程式碼區塊 : 以大括號+縮排表示 • 命名慣例 : camelCase • 註解 : 雙斜線 //
  • 25. 字串 str Python 基本資料型態 25 greeting = 'Hello' # 哈囉、Bonjour、Chao name = 'Carly' # Kitty、Daniel、Melody print(f'{greeting} {name}, good morning') 字串與 f-string Hello Carly, good morning greeting = '哈囉' name = 'Carly' # Kitty、Daniel、Melody print(greeting[0]) 字串切片 哈 • F-string 用於合成字串與值。 • 切片用於取出部份成員。
  • 26. 整數 int Python 基本資料型態 26 in_stock = 10 issued = 20 total_qty = in_stock + issued print(total_qty) 整數 30 運算子 運算 範例 備註 + 加法 10 + 20 -> 30 - 減法 30 - 11 -> 19 * 乘法 2 * 3 -> 6 / 除法 6 / 3 -> 2.0 結果為浮點數 // 除法取商 17 / 3 -> 5 結果為整數 % 除法取餘 17 / 3 -> 2 ( ) 括號 6 / 2 * (1 + 2) -> 9 依四則運算原則 == 等於比較 6 == 6 -> True != 不等於比較 2 != 3 -> True > 大於比較 3 > 2 -> True >= 大於等於比較 3 >= 2 -> True < 小於比較 3 < 2 -> False <= 小於等於比較 3 <= 2 -> False
  • 27. 浮點數 fl oat Python 基本資料型態 27 in_stock_weight = 10 issued_weight = 20.2 total_weight = in_stock_weight + issued_weight print(total_weight) 浮點數 20.2 • 浮點數 , 含小數數值。 • 運算中只要其中有浮點數 , 結果就會是浮點數。 • 大部份時候 Python 會自動處理好整數與浮點數 的運算 , 不須人類操心。