SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
1. Python起步走
• 學習目標
– 選擇 2.x 還是 3.x?
– 初識 Python 資源
– 認識 Python 實作
– 建立 Python 環境
Python 3的誕生
• 2008 年 12 月 3 日,新出爐的 Python 3.0
(也被稱為 Python 3000 或 Py3K)
• 包含了許多人引頸期盼的新功能
• 其他語法與程式庫方面的變更,也破壞了
向後相容性
• 許多基於 Python 2.x 的程式,無法直接在
Python 3.0 的環境中運行
• Python 3.0 演進的指導原則
– 將處理事情的老方法移除,以減少特性的重複
– 做事時應該只有一種(也許也是唯一)明確的
方式」之條目
• 我要學 Python 3,還是 Python 2?
– 在 Python 3.0 剛釋出沒多久的那段日子裏,答
案通常會是「學習 Python 2.x,因為許多程式
庫還不支援!」
– 許多介紹 Python 的入門文件或書藉,也不得
不同時介紹 Python 2 與 3 兩個版本
– 「2to3」也不能發現所有的問題
從Python 3.0到3.9
• 官方的推動
• Python 2 可以試著from __future__
import想使用的模組
• 〈Python2orPython3〉整理了許多相容轉
換的相關資源
– Python 3.0 的一些較不具破壞性的特性,回饋
(backport)到 Python 2.6 之中
– Python 3.1 的特性,回饋到了 Python 2.7 之
中
• 回饋也會反過來從 2.x 至 3.x
– 在 Python 3.3 中又支援了 u'foo' 來表示
unicode 字串,b'foo'來表示 byte 字串
• 相容性同時在 2.x 與 3.x 之間前進著,試著
讓語法有更多交集。
• Python 3.x 本身也不斷地吸納社群經驗
– Python 3.3 中包含了 venv 模組
– Python 3.4 本身就包含了 pip
– Python 3.5 更納入了 Type hints
• Python 3.6加強了Type hints、新增格式化
字串常量(Formatted string literals)等
• Python 3.7在效能上做了很大的改進
• Python 3.8在指定、參數、格式化字串常
量等方面做了些改進
• Python 3.9使用了新的語法剖析器
• Python 2.7是Python 2最後一個版本(不
會再有Python 2.8),官方已經在2020年
1月1日正式停止支援
社群的接納
• 許多基於 Python 2.x 的程式庫或框架,這
段期間一直不斷地往 Python 3.x 遷移
– Django
– Numpy
– SciPy
• 作業系統已進行相對應的調整
– Linux不少已預設使用Python 3.x
• 我要學習 Python 2.x 還是 Python 3.x?
• 全面性的調查
– 就像在選擇一門語言,或者是調查某個程式庫
是否可以採用時,必須有著諸多考量,像是瞭
解其更新(Update)的時間、修改記錄
(Changelog)、修正問題(Issue)的速率、
作者身份等。
• 我要學習 Python 2.x 還是 Python 3.x?
• 如果沒有包袱,當然是先學Python 3.x
• 有了Python 3.x的基礎,將來若有必要面對
與學習Python 2.x,並不是件難事。
初識社群資源
• Python 之父 Guido van Rossum
– 首位享有 BDFL 封號的開放原始碼軟體創建者
– 對社群仍持續關注,在必要時能針對社群中的
意見與爭議提出想法與做出最後裁決
• Python 軟體基金會
– Python Software Foundation,常簡稱為 PSF
– 推廣、維護與促進 Python 程式語言的發展,
同時也支持協助全球各地各式各樣 Python 程
式設計師與社群的成長
– 非營利組織,持有 Python 程式語言背後的智
慧財產權
• Python改進提案
– Python Enhancement Proposals,常簡稱為
PEPs
– Python 的改進多是由PEP流程主導
– PEP 流程會收集來自社群的意見,為將來打算
加入 Python 的新特性提出文件提案
– 重要的 PEP 會經由社群與 Guido 審閱與評估,
決定是否成為正式的 PEP 文件
• Python 研討會
– 如果想要知道各地的研討會資訊,可
– 以從 PyCon 網站(www.pycon.org )開始
– 〈"PyCon Taiwan" in Taiwan〉可以看到台灣
Python 社群關注的重要研討會訊息
• Python 使用者群組
– PyTUG Wiki(台灣Python 使用者群組Wiki 網站)
– PyTUG Groups(台灣Python 使用者群組論譠)
– PyHUG Meetups(新竹Python 使用者群組)
– Taipei.py Meetups(台北Python 使用者群組)
– Tainan.py Meetups(台南Python 使用者群組)
Python 的實作
• CPython
– Python 官方的參考實作
– 以C 撰寫的實作品
– 提供與 Python 套件(Package)與 C 擴充模
組的最高相容性
• PyPy
– 使用 RPython(Restricted Python)來實現
– 目的在改進 Python 程式的執行效能,同時追
求與 CPython 的最大相容性
• Jython
– 用 Java 實現的 Python
– 能匯入、取用 Java 的相關程式庫,因而得以運
用 Java 領域中的各式資源
• IronPython
– 可與 .NET 平台結合的 Python 開放原始碼實現
下載與安裝 Python 3.9
認識安裝內容
1. Python起步走
1. Python起步走

Weitere ähnliche Inhalte

Was ist angesagt?

Dovecot Director 概要
Dovecot Director 概要Dovecot Director 概要
Dovecot Director 概要SATOH Fumiyasu
 
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletJustin Lin
 
Ch02 撰寫與設定Servlet
Ch02 撰寫與設定ServletCh02 撰寫與設定Servlet
Ch02 撰寫與設定ServletJustin Lin
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with KarateTakanori Suzuki
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應Justin Lin
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTLJustin Lin
 
CH03:基礎語法
CH03:基礎語法CH03:基礎語法
CH03:基礎語法Justin Lin
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityJustin Lin
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Alan Tsai
 
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)Poy Chang
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_diveHiroshi Yoshioka
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
 
CH04:認識物件
CH04:認識物件CH04:認識物件
CH04:認識物件Justin Lin
 
2. 型態、變數與運算子
2. 型態、變數與運算子2. 型態、變數與運算子
2. 型態、變數與運算子Justin Lin
 
Alfresco勉強会#25 ワークフロー入門
Alfresco勉強会#25 ワークフロー入門Alfresco勉強会#25 ワークフロー入門
Alfresco勉強会#25 ワークフロー入門Takeshi Totani
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步Justin Lin
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門minazou67
 
試験にでるSpring
試験にでるSpring試験にでるSpring
試験にでるSpring土岐 孝平
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkwhywaita
 
OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版Bruce Chen
 

Was ist angesagt? (20)

Dovecot Director 概要
Dovecot Director 概要Dovecot Director 概要
Dovecot Director 概要
 
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
 
Ch02 撰寫與設定Servlet
Ch02 撰寫與設定ServletCh02 撰寫與設定Servlet
Ch02 撰寫與設定Servlet
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
 
CH03:基礎語法
CH03:基礎語法CH03:基礎語法
CH03:基礎語法
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹
 
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_dive
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
CH04:認識物件
CH04:認識物件CH04:認識物件
CH04:認識物件
 
2. 型態、變數與運算子
2. 型態、變數與運算子2. 型態、變數與運算子
2. 型態、變數與運算子
 
Alfresco勉強会#25 ワークフロー入門
Alfresco勉強会#25 ワークフロー入門Alfresco勉強会#25 ワークフロー入門
Alfresco勉強会#25 ワークフロー入門
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門
 
試験にでるSpring
試験にでるSpring試験にでるSpring
試験にでるSpring
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
 
OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版
 

Ähnlich wie 1. Python起步走

Python 起步走
Python 起步走Python 起步走
Python 起步走Justin Lin
 
Python 起步走
Python 起步走Python 起步走
Python 起步走Justin Lin
 
Python 进化之路.pptx
Python 进化之路.pptxPython 进化之路.pptx
Python 进化之路.pptxManjusaka1
 
第10章 Python计算生态.pptx
第10章 Python计算生态.pptx第10章 Python计算生态.pptx
第10章 Python计算生态.pptxedvardarcher
 
Python First Class
Python First ClassPython First Class
Python First ClassYao Zuo
 
Python简明教程
Python简明教程Python简明教程
Python简明教程ingong
 
简单Pthon教程
简单Pthon教程简单Pthon教程
简单Pthon教程junjun chen
 
01.python.开发最佳实践
01.python.开发最佳实践01.python.开发最佳实践
01.python.开发最佳实践Na Lee
 
Python核心编程(中文 第二版)
Python核心编程(中文 第二版)Python核心编程(中文 第二版)
Python核心编程(中文 第二版)yiditushe
 
用简单语言构建复杂系统
用简单语言构建复杂系统用简单语言构建复杂系统
用简单语言构建复杂系统Leo Zhou
 
Learn python 2 - Real World Case
Learn python 2 - Real World CaseLearn python 2 - Real World Case
Learn python 2 - Real World CaseChia-Hao Tsai
 
Jupyter 簡介—互動式的筆記本系統
Jupyter 簡介—互動式的筆記本系統Jupyter 簡介—互動式的筆記本系統
Jupyter 簡介—互動式的筆記本系統Chengtao Lin
 
Ready Programmer One
Ready Programmer OneReady Programmer One
Ready Programmer Oneflywindy
 
Python in word cloud
Python in word cloudPython in word cloud
Python in word cloudFEG
 
[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204CAVEDU Education
 
20121213 foundation of software development 2 2-ktchuang
20121213 foundation of software development 2 2-ktchuang20121213 foundation of software development 2 2-ktchuang
20121213 foundation of software development 2 2-ktchuangnetdbncku
 
Python 爬網⾴工具 - Scrapy 介紹
Python 爬網⾴工具 - Scrapy 介紹Python 爬網⾴工具 - Scrapy 介紹
Python 爬網⾴工具 - Scrapy 介紹Sammy Fung
 

Ähnlich wie 1. Python起步走 (20)

Python 起步走
Python 起步走Python 起步走
Python 起步走
 
Python 起步走
Python 起步走Python 起步走
Python 起步走
 
Python 进化之路.pptx
Python 进化之路.pptxPython 进化之路.pptx
Python 进化之路.pptx
 
Python系列3
Python系列3Python系列3
Python系列3
 
第10章 Python计算生态.pptx
第10章 Python计算生态.pptx第10章 Python计算生态.pptx
第10章 Python计算生态.pptx
 
Python First Class
Python First ClassPython First Class
Python First Class
 
Python简明教程
Python简明教程Python简明教程
Python简明教程
 
简单Pthon教程
简单Pthon教程简单Pthon教程
简单Pthon教程
 
01.python.开发最佳实践
01.python.开发最佳实践01.python.开发最佳实践
01.python.开发最佳实践
 
Python系列1
Python系列1Python系列1
Python系列1
 
Python核心编程(中文 第二版)
Python核心编程(中文 第二版)Python核心编程(中文 第二版)
Python核心编程(中文 第二版)
 
用简单语言构建复杂系统
用简单语言构建复杂系统用简单语言构建复杂系统
用简单语言构建复杂系统
 
Learn python 2 - Real World Case
Learn python 2 - Real World CaseLearn python 2 - Real World Case
Learn python 2 - Real World Case
 
Jupyter 簡介—互動式的筆記本系統
Jupyter 簡介—互動式的筆記本系統Jupyter 簡介—互動式的筆記本系統
Jupyter 簡介—互動式的筆記本系統
 
Linux File system
Linux File systemLinux File system
Linux File system
 
Ready Programmer One
Ready Programmer OneReady Programmer One
Ready Programmer One
 
Python in word cloud
Python in word cloudPython in word cloud
Python in word cloud
 
[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204[3]投影片 futurewad樹莓派研習會 141204
[3]投影片 futurewad樹莓派研習會 141204
 
20121213 foundation of software development 2 2-ktchuang
20121213 foundation of software development 2 2-ktchuang20121213 foundation of software development 2 2-ktchuang
20121213 foundation of software development 2 2-ktchuang
 
Python 爬網⾴工具 - Scrapy 介紹
Python 爬網⾴工具 - Scrapy 介紹Python 爬網⾴工具 - Scrapy 介紹
Python 爬網⾴工具 - Scrapy 介紹
 

Mehr von Justin Lin

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring BootJustin Lin
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMailJustin Lin
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Justin Lin
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤Justin Lin
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題Justin Lin
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能Justin Lin
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組Justin Lin
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換Justin Lin
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組Justin Lin
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理Justin Lin
 
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承Justin Lin
 
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別Justin Lin
 
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式Justin Lin
 
3.型態與運算子
3.型態與運算子3.型態與運算子
3.型態與運算子Justin Lin
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDEJustin Lin
 
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Justin Lin
 
CH19:深入模組化
CH19:深入模組化CH19:深入模組化
CH19:深入模組化Justin Lin
 
CH18:自訂泛型、列舉與標註
CH18:自訂泛型、列舉與標註CH18:自訂泛型、列舉與標註
CH18:自訂泛型、列舉與標註Justin Lin
 

Mehr von Justin Lin (18)

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理
 
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承
 
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別
 
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式
 
3.型態與運算子
3.型態與運算子3.型態與運算子
3.型態與運算子
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
 
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄
 
CH19:深入模組化
CH19:深入模組化CH19:深入模組化
CH19:深入模組化
 
CH18:自訂泛型、列舉與標註
CH18:自訂泛型、列舉與標註CH18:自訂泛型、列舉與標註
CH18:自訂泛型、列舉與標註
 

1. Python起步走

  • 1.
  • 2. 1. Python起步走 • 學習目標 – 選擇 2.x 還是 3.x? – 初識 Python 資源 – 認識 Python 實作 – 建立 Python 環境
  • 3. Python 3的誕生 • 2008 年 12 月 3 日,新出爐的 Python 3.0 (也被稱為 Python 3000 或 Py3K) • 包含了許多人引頸期盼的新功能 • 其他語法與程式庫方面的變更,也破壞了 向後相容性 • 許多基於 Python 2.x 的程式,無法直接在 Python 3.0 的環境中運行
  • 4. • Python 3.0 演進的指導原則 – 將處理事情的老方法移除,以減少特性的重複 – 做事時應該只有一種(也許也是唯一)明確的 方式」之條目
  • 5. • 我要學 Python 3,還是 Python 2? – 在 Python 3.0 剛釋出沒多久的那段日子裏,答 案通常會是「學習 Python 2.x,因為許多程式 庫還不支援!」 – 許多介紹 Python 的入門文件或書藉,也不得 不同時介紹 Python 2 與 3 兩個版本 – 「2to3」也不能發現所有的問題
  • 7. • Python 2 可以試著from __future__ import想使用的模組 • 〈Python2orPython3〉整理了許多相容轉 換的相關資源 – Python 3.0 的一些較不具破壞性的特性,回饋 (backport)到 Python 2.6 之中 – Python 3.1 的特性,回饋到了 Python 2.7 之 中
  • 8. • 回饋也會反過來從 2.x 至 3.x – 在 Python 3.3 中又支援了 u'foo' 來表示 unicode 字串,b'foo'來表示 byte 字串 • 相容性同時在 2.x 與 3.x 之間前進著,試著 讓語法有更多交集。 • Python 3.x 本身也不斷地吸納社群經驗 – Python 3.3 中包含了 venv 模組 – Python 3.4 本身就包含了 pip – Python 3.5 更納入了 Type hints
  • 9. • Python 3.6加強了Type hints、新增格式化 字串常量(Formatted string literals)等 • Python 3.7在效能上做了很大的改進 • Python 3.8在指定、參數、格式化字串常 量等方面做了些改進 • Python 3.9使用了新的語法剖析器
  • 10. • Python 2.7是Python 2最後一個版本(不 會再有Python 2.8),官方已經在2020年 1月1日正式停止支援
  • 11. 社群的接納 • 許多基於 Python 2.x 的程式庫或框架,這 段期間一直不斷地往 Python 3.x 遷移 – Django – Numpy – SciPy • 作業系統已進行相對應的調整 – Linux不少已預設使用Python 3.x
  • 12. • 我要學習 Python 2.x 還是 Python 3.x? • 全面性的調查 – 就像在選擇一門語言,或者是調查某個程式庫 是否可以採用時,必須有著諸多考量,像是瞭 解其更新(Update)的時間、修改記錄 (Changelog)、修正問題(Issue)的速率、 作者身份等。
  • 13. • 我要學習 Python 2.x 還是 Python 3.x? • 如果沒有包袱,當然是先學Python 3.x • 有了Python 3.x的基礎,將來若有必要面對 與學習Python 2.x,並不是件難事。
  • 14. 初識社群資源 • Python 之父 Guido van Rossum – 首位享有 BDFL 封號的開放原始碼軟體創建者 – 對社群仍持續關注,在必要時能針對社群中的 意見與爭議提出想法與做出最後裁決 • Python 軟體基金會 – Python Software Foundation,常簡稱為 PSF – 推廣、維護與促進 Python 程式語言的發展, 同時也支持協助全球各地各式各樣 Python 程 式設計師與社群的成長 – 非營利組織,持有 Python 程式語言背後的智 慧財產權
  • 15. • Python改進提案 – Python Enhancement Proposals,常簡稱為 PEPs – Python 的改進多是由PEP流程主導 – PEP 流程會收集來自社群的意見,為將來打算 加入 Python 的新特性提出文件提案 – 重要的 PEP 會經由社群與 Guido 審閱與評估, 決定是否成為正式的 PEP 文件
  • 16.
  • 17. • Python 研討會 – 如果想要知道各地的研討會資訊,可 – 以從 PyCon 網站(www.pycon.org )開始 – 〈"PyCon Taiwan" in Taiwan〉可以看到台灣 Python 社群關注的重要研討會訊息 • Python 使用者群組 – PyTUG Wiki(台灣Python 使用者群組Wiki 網站) – PyTUG Groups(台灣Python 使用者群組論譠) – PyHUG Meetups(新竹Python 使用者群組) – Taipei.py Meetups(台北Python 使用者群組) – Tainan.py Meetups(台南Python 使用者群組)
  • 18. Python 的實作 • CPython – Python 官方的參考實作 – 以C 撰寫的實作品 – 提供與 Python 套件(Package)與 C 擴充模 組的最高相容性 • PyPy – 使用 RPython(Restricted Python)來實現 – 目的在改進 Python 程式的執行效能,同時追 求與 CPython 的最大相容性
  • 19. • Jython – 用 Java 實現的 Python – 能匯入、取用 Java 的相關程式庫,因而得以運 用 Java 領域中的各式資源 • IronPython – 可與 .NET 平台結合的 Python 開放原始碼實現
  • 21.
  • 22.
  • 23.