SlideShare a Scribd company logo
1 of 27
Download to read offline
2. 從 REPL 到 IDE
• 學習目標
– 使用 REPL
– 設定原始碼檔案編碼
– 基本模組與套件管理
– 認識 IDE 的使用
使用 REPL
• REPL(Read-Eval-Print Loop,又稱為
Python Shell)
取得協助訊息
• 如果要離開 REPL 環境,可以執行 quit()
函式
撰寫 Python 原始碼
哈囉!世界!
• 事物的複雜度不會憑空消失,只會從一個
事物轉移到另一個事物
UTF-8
• Python 3 之後,python 直譯器預期的原
始碼檔案編碼必須是 UTF-8
• 使用註解設定編碼資訊
• 在 Python 原始碼檔案中,# 開頭代表這
是一行註解
• 到其他的編碼設定方式
• python 直譯器只要在註解中看到
coding=<encoding name> 或者
coding: <encoding name> 出現
# -*- coding: Big5 -*-
# vim: set fileencoding=Big5 :
簡介模組
• 每個 .py 檔案本身就是一個模組
• 直接重用先前撰寫好的 hello2.py 檔案
• Python 本身提供有標準程式庫
• 如果有多個模組需要 import,除了逐行
import 之外,也可以在單一行中使用逗號
「,」來區隔模組
• 在 __builtins__模組中的函式、類別等
名稱,都可以不用 import 直接取用,而
且不用加上模組名稱作為前置
import sys, email
設定 PYTHONPATH
• 可以設定 PYTHONPATH 環境變數來解決這
個問題:
• 想要動態地管理模組的尋找路徑, 也可以
透過程式變更 sys.path 的內容來達到
使用套件管理模組
• 模組也應該分門別類加以放置
• 一定要有一個__init__.py 檔案,該資料夾
才會被視為一個套件
• 在套件的進階管理中,__init__.py 中其實
也可以撰寫程式
• 套件名稱會成為名稱空間的一部份
• 可以建立多層次的套件,每個擔任套件的
資料夾與子資料夾中,各要有一個
__init__.py
import as、from import
• import as
• from import
• 如果有多個名稱想要直接匯入目前模組,
除了逐行 from import 之外,也可以在
單一行中使用逗號「,」來區隔
• 更偷懶一點(不建議)
使用IDE
• PyCharm(www.jetbrains.com/pycharm/)
• PyDev(www.pydev.org/)
• Komodo IDE(komodoide.com/)
• Spyder
(code.google.com/archive/p/spyderlib/)
• WingIDE(wingware.com/)
• NINJA-IDE(www.ninja-ide.org/)
• Python Tools for Visual Studio
(pytools.codeplex.com/)

More Related Content

What's hot

简单Pthon教程
简单Pthon教程简单Pthon教程
简单Pthon教程
junjun chen
 
[圣思园][Java SE]Jdk5
[圣思园][Java SE]Jdk5[圣思园][Java SE]Jdk5
[圣思园][Java SE]Jdk5
ArBing Xie
 

What's hot (20)

12, string
12, string12, string
12, string
 
Python 2-基本語法
Python 2-基本語法Python 2-基本語法
Python 2-基本語法
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928
 
Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿Python匯出入csv以及繪製圖表初稿
Python匯出入csv以及繪製圖表初稿
 
流程語法與函式
流程語法與函式流程語法與函式
流程語法與函式
 
Python系列3
Python系列3Python系列3
Python系列3
 
Python系列4
Python系列4Python系列4
Python系列4
 
函数调用关系工具-2011-孙光福
函数调用关系工具-2011-孙光福函数调用关系工具-2011-孙光福
函数调用关系工具-2011-孙光福
 
資料永續與交換
資料永續與交換資料永續與交換
資料永續與交換
 
從模組到類別
從模組到類別從模組到類別
從模組到類別
 
Coreseek/Sphinx 全文检索实践指南
Coreseek/Sphinx 全文检索实践指南Coreseek/Sphinx 全文检索实践指南
Coreseek/Sphinx 全文检索实践指南
 
[系列活動] Python 程式語言起步走
[系列活動] Python 程式語言起步走[系列活動] Python 程式語言起步走
[系列活動] Python 程式語言起步走
 
從模組到類別
從模組到類別從模組到類別
從模組到類別
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
 
Python系列1
Python系列1Python系列1
Python系列1
 
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VM
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VMCompiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VM
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VM
 
简单Pthon教程
简单Pthon教程简单Pthon教程
简单Pthon教程
 
Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式
 
Device Driver - Chapter 6字元驅動程式的進階作業
Device Driver - Chapter 6字元驅動程式的進階作業Device Driver - Chapter 6字元驅動程式的進階作業
Device Driver - Chapter 6字元驅動程式的進階作業
 
[圣思园][Java SE]Jdk5
[圣思园][Java SE]Jdk5[圣思园][Java SE]Jdk5
[圣思园][Java SE]Jdk5
 

Viewers also liked

Viewers also liked (17)

例外處理
例外處理例外處理
例外處理
 
資料結構
資料結構資料結構
資料結構
 
網站系統安全及資料保護設計認知
網站系統安全及資料保護設計認知網站系統安全及資料保護設計認知
網站系統安全及資料保護設計認知
 
OpenSCAD Workshop
OpenSCAD WorkshopOpenSCAD Workshop
OpenSCAD Workshop
 
Python
PythonPython
Python
 
並行與平行
並行與平行並行與平行
並行與平行
 
除錯、測試與效能
除錯、測試與效能除錯、測試與效能
除錯、測試與效能
 
類別的繼承
類別的繼承類別的繼承
類別的繼承
 
Python Programming Essentials - M22 - File Operations
Python Programming Essentials - M22 - File OperationsPython Programming Essentials - M22 - File Operations
Python Programming Essentials - M22 - File Operations
 
Python 3 Programming Language
Python 3 Programming LanguagePython 3 Programming Language
Python 3 Programming Language
 
Python Programming Essentials - M44 - Overview of Web Development
Python Programming Essentials - M44 - Overview of Web DevelopmentPython Programming Essentials - M44 - Overview of Web Development
Python Programming Essentials - M44 - Overview of Web Development
 
資料永續與交換
資料永續與交換資料永續與交換
資料永續與交換
 
PyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialPyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 Tutorial
 
3D 之邏輯與美感交會 - OpenSCAD
3D 之邏輯與美感交會 - OpenSCAD3D 之邏輯與美感交會 - OpenSCAD
3D 之邏輯與美感交會 - OpenSCAD
 
進階主題
進階主題進階主題
進階主題
 
常用內建模組
常用內建模組常用內建模組
常用內建模組
 
初學R語言的60分鐘
初學R語言的60分鐘初學R語言的60分鐘
初學R語言的60分鐘
 

Similar to 從 REPL 到 IDE

Adorable python
Adorable pythonAdorable python
Adorable python
Rhythm Sun
 
Python简明教程
Python简明教程Python简明教程
Python简明教程
ingong
 
Web scraping入門1
Web scraping入門1Web scraping入門1
Web scraping入門1
兆欽 丘
 
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
 
Tiptop gp 5.1 setup_instructions
Tiptop gp 5.1 setup_instructionsTiptop gp 5.1 setup_instructions
Tiptop gp 5.1 setup_instructions
guest994aeb5
 
用Cython封装c++代码为python模块的一点经验
用Cython封装c++代码为python模块的一点经验用Cython封装c++代码为python模块的一点经验
用Cython封装c++代码为python模块的一点经验
Leo Zhou
 

Similar to 從 REPL 到 IDE (20)

Python01
Python01Python01
Python01
 
Learn python 2 - Real World Case
Learn python 2 - Real World CaseLearn python 2 - Real World Case
Learn python 2 - Real World Case
 
Adorable python
Adorable pythonAdorable python
Adorable python
 
Python简明教程
Python简明教程Python简明教程
Python简明教程
 
建置Python開發環境
建置Python開發環境建置Python開發環境
建置Python開發環境
 
執行緒與並行API
執行緒與並行API執行緒與並行API
執行緒與並行API
 
Web scraping入門1
Web scraping入門1Web scraping入門1
Web scraping入門1
 
建置Python開發環境
建置Python開發環境建置Python開發環境
建置Python開發環境
 
Python 01 Introduction
Python 01  IntroductionPython 01  Introduction
Python 01 Introduction
 
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
 
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
 
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
 
Tiptop gp 5.1 setup_instructions
Tiptop gp 5.1 setup_instructionsTiptop gp 5.1 setup_instructions
Tiptop gp 5.1 setup_instructions
 
0507 coding lesson
0507 coding lesson0507 coding lesson
0507 coding lesson
 
Oracle Security 101
Oracle Security 101Oracle Security 101
Oracle Security 101
 
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
 
用Cython封装c++代码为python模块的一点经验
用Cython封装c++代码为python模块的一点经验用Cython封装c++代码为python模块的一点经验
用Cython封装c++代码为python模块的一点经验
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
 
open() 與 io 模組
open() 與 io 模組open() 與 io 模組
open() 與 io 模組
 
Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)Continuous Delivery with Ansible x GitLab CI (2e)
Continuous Delivery with Ansible x GitLab CI (2e)
 

More from Justin Lin

More from 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
 
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
 
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
 
Ch06 使用 JSP
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSP
 
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
 
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
 

從 REPL 到 IDE