SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
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起步走

Más contenido relacionado

La actualidad más candente

Mocking in Java with Mockito
Mocking in Java with MockitoMocking in Java with Mockito
Mocking in Java with Mockito
Richard Paul
 
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilitiesVorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
DefconRussia
 
Oracle 10g Forms Lesson 7
Oracle 10g Forms Lesson  7Oracle 10g Forms Lesson  7
Oracle 10g Forms Lesson 7
KAMA3
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Armando Daniel
 

La actualidad más candente (20)

Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao Swing
 
An introduction to SQLAlchemy
An introduction to SQLAlchemyAn introduction to SQLAlchemy
An introduction to SQLAlchemy
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
 
Exception handling in java
Exception handling  in javaException handling  in java
Exception handling in java
 
Session tracking in servlets
Session tracking in servletsSession tracking in servlets
Session tracking in servlets
 
Mocking in Java with Mockito
Mocking in Java with MockitoMocking in Java with Mockito
Mocking in Java with Mockito
 
Latex - Minicurso Básico
Latex - Minicurso BásicoLatex - Minicurso Básico
Latex - Minicurso Básico
 
Lambda Expressions in Java
Lambda Expressions in JavaLambda Expressions in Java
Lambda Expressions in Java
 
Tabela Hash
Tabela HashTabela Hash
Tabela Hash
 
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
 
Triggers in plsql
Triggers in plsqlTriggers in plsql
Triggers in plsql
 
Log4j slideshare
Log4j slideshareLog4j slideshare
Log4j slideshare
 
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilitiesVorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
 
Oracle 10g Forms Lesson 7
Oracle 10g Forms Lesson  7Oracle 10g Forms Lesson  7
Oracle 10g Forms Lesson 7
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Curso de Java: Threads
Curso de Java: ThreadsCurso de Java: Threads
Curso de Java: Threads
 
MySQL Cursors
MySQL CursorsMySQL Cursors
MySQL Cursors
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
 
Collections Api - Java
Collections Api - JavaCollections Api - Java
Collections Api - Java
 
Java exception-handling
Java exception-handlingJava exception-handling
Java exception-handling
 

Similar a 1. Python起步走

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
 
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
netdbncku
 

Similar a 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 介紹
 

Más de Justin Lin

Más de Justin Lin (20)

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
 
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
 
Ch06 使用 JSP
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSP
 
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
 
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. 流程語法與函式
 

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.