SlideShare a Scribd company logo
Python meetup - 1
Vic Yang
Installation
Installation
Python 2.7 or Python 3.4
https://www.python.org/downloads
Sublime Text 2 - editor with building system
http://www.sublimetext.com/2
pip - python package index (package manager)
http://www.pip-installer.org/en/latest/installing.html
git - version control (optional)
http://git-scm.com/
First Program
‘Hello world’
開啟編輯器,打⼊入print ‘Hello world’以附檔名.py存起
來,如此⼀一來此⽂文件便可被視為python script。
使⽤用sublime的building system便可在sublime裡⾯面看到
執⾏行結果。
!
⼩小練習:四則運算、次⽅方運算
Introduction
Why using Python?
軟體品質 - 可讀性佳、縮排取代⼤大括號、Object-Oriented、別⼈人
寫出來的code⽐比較容易看懂
⽣生產⼒力 - 相對於C++, Java 程式碼的量⼤大約1/3, 1/5
可移植性 - 不同作業平台上可以使⽤用
程式庫 - 最⼤大的好處之⼀一,許許多多的輪⼦子
整合其他語⾔言 - 其他語⾔言平台可以port,例如Iron Python, Jyphon
好吃、新奇、⼜又好玩
缺點
慢,這是⽅方便的代價,但有其他更底層的實作讓這件
事慢慢的變快,例如Pypy, Dropbox的JIT
語法⽅方⾯面的問題,ex. a.len() vs. len(a)
Python 內部資料結構的實作
1. List - Python語⾔言的資料結構實作造成他是最⽅方便卻也是最危
險的資料結構(我也是看了YouTube才知道
2. http://www.youtube.com/watch?v=fYlnfvKVDoM
從功能性來看
動態定型 - Python 會記錄程式執⾏行時的物件種類,不⽤用宣告複雜的形態跟
⼤大⼩小
⾃自動記憶體管理 - 當物件不再使⽤用時,啟動GC,會記錄低階記憶體細節,
總之我們不⽤用擔⼼心
⽀支援⼤大型程式設計 - 可以分⾨門別類的來寫code,整合起來相對⽅方便
內建物件型態 - [], {}, ()…
內建⼯工具 - 類似C++的STL
程式庫公開⼯工具 - 最⼤大的好處之⼀一
協⼒力廠商公⽤用程式
練習
基本語法
條件:if...else...
迴圈:for...in
遞迴
邏輯: and, or, not
程式碼匯⼊入 import
⻑⾧長度len(), 強制轉字串str()
內建程式庫
練習:parse 下⾴頁的xml格式的⽂文件,使⽤用內建函式庫
xml.etree.cElement
輸⼊入:⼀一段字串
輸出:將__TITLE__⽤用程式改成輸⼊入的字串
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	 <key>items</key>
	 <array>
	 	 <dict>
	 	 	 <key>assets</key>
	 	 	 <array>
	 	 	 	 <dict>
	 	 	 	 	 <key>kind</key>
	 	 	 	 	 <string>software-package</string>
	 	 	 	 	 <key>url</key>
	 	 	 	 	 <string>__URL__</string>
	 	 	 	 </dict>
	 	 	 </array>
	 	 	 <key>metadata</key>
	 	 	 <dict>
	 	 	 	 <key>bundle-identifier</key>
	 	 	 	 <string>__BUNDLEID__</string>
	 	 	 	 <key>bundle-version</key>
	 	 	 	 <string>__BUNDLEVER__</string>
	 	 	 	 <key>kind</key>
	 	 	 	 <string>software</string>
	 	 	 	 <key>title</key>
	 	 	 	 <string>__TITLE__</string>
	 	 	 </dict>
	 	 </dict>
	 </array>
</dict>
</plist>
import xml.etree.cElementTree as ET
import sys
!
BUNDLEID = '__BUNDLEID__'
bundle_identifier = 543
!
tree = ET.ElementTree(file='default.plist')
!
root = tree.getroot()
!
for i in tree.iter(tag='string'):
if i.text == BUNDLEID:
i.text = str(bundle_identifier)
!
tree.write(sys.stdout)

More Related Content

PDF
Xcode 的 git 版本管理
PPTX
用 Go 語言 打造微服務架構
PPTX
Go 語言基礎簡介
PPTX
版本控制
PDF
Git 入门实战
PPTX
Git 入門與實作
PDF
連哈秋都懂的Git教學
PDF
Python&GUI
Xcode 的 git 版本管理
用 Go 語言 打造微服務架構
Go 語言基礎簡介
版本控制
Git 入门实战
Git 入門與實作
連哈秋都懂的Git教學
Python&GUI

What's hot (18)

PDF
git, repo, Gerrit 基礎教學
PDF
版本控制 使用Git & git hub
PDF
Git and Github basic with SourceTree
PDF
幸福快樂的完美結局
PPTX
Git基礎介紹
PDF
寫給大家的 Git 教學
PDF
運用 Docker 整合 Laravel 提升團隊開發效率
PPTX
開發用不著打一架 - 分散式版本控制 Git
PDF
Git與source tree 基礎教學
PPTX
用 Drone 打造 輕量級容器持續交付平台
PDF
Git 版本控制 (使用教學)
PDF
Continuous Delivery with Ansible x GitLab CI
PDF
Introduction to git
PDF
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
PPT
Ryu Learning Guide
PPTX
Jenkins x GitLab CI
PDF
Git in a nutshell
PPTX
用 Go 語言打造 DevOps Bot
git, repo, Gerrit 基礎教學
版本控制 使用Git & git hub
Git and Github basic with SourceTree
幸福快樂的完美結局
Git基礎介紹
寫給大家的 Git 教學
運用 Docker 整合 Laravel 提升團隊開發效率
開發用不著打一架 - 分散式版本控制 Git
Git與source tree 基礎教學
用 Drone 打造 輕量級容器持續交付平台
Git 版本控制 (使用教學)
Continuous Delivery with Ansible x GitLab CI
Introduction to git
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
Ryu Learning Guide
Jenkins x GitLab CI
Git in a nutshell
用 Go 語言打造 DevOps Bot
Ad

Viewers also liked (20)

PDF
Slides
PDF
LinkedIn-foredrag i Aalborg v. Morten Vium
PPTX
Ardilla
PPT
прикладная информатика
PDF
Workindenmark herning
PDF
Virtuel branding og Networking på LinkedIn
PPT
PPT
Prosser&Foreman
PPTX
LinkedIn foredrag - Kost & Ernæringsforbundet
PPTX
Перевод и переводоведение
PPT
Ghana
PDF
Slides
PDF
LinkedIn foredrag hos UCN
PPTX
Aula de Certificação do CCCMG - 2016 (Professor João Aparecido)
PPTX
Бизнес-информатика
PPTX
Talk at Workindenmark
PPT
копия презентация обнов
PDF
En las fuentes de la alegria san francisco de sales -canonigo f.vidal
PDF
Foredrag om LinkedIn i Jobboxen Ikast-Brande
PDF
3 veje til flere business-kunder på LinkedIn
Slides
LinkedIn-foredrag i Aalborg v. Morten Vium
Ardilla
прикладная информатика
Workindenmark herning
Virtuel branding og Networking på LinkedIn
Prosser&Foreman
LinkedIn foredrag - Kost & Ernæringsforbundet
Перевод и переводоведение
Ghana
Slides
LinkedIn foredrag hos UCN
Aula de Certificação do CCCMG - 2016 (Professor João Aparecido)
Бизнес-информатика
Talk at Workindenmark
копия презентация обнов
En las fuentes de la alegria san francisco de sales -canonigo f.vidal
Foredrag om LinkedIn i Jobboxen Ikast-Brande
3 veje til flere business-kunder på LinkedIn
Ad

Similar to Python meetup 1 (20)

DOCX
Windows 環境下建構python 跑VMware API
PDF
Python 實戰 WMS 系統開發 Python 實戰 WMS 系統開發 Python 實戰 WMS 系統開發
PPTX
LineBot.pptx
PDF
Python beginner tutorial
PDF
建置Python開發環境
PDF
PIME - 用 Python 和 JavaScript 快速開發 Windows 的中文輸入法
PPTX
如何幫樹莓派安裝常用的Python套件(How to Install Python Package on Raspberry Pi)
DOC
设置用vim编辑python
PDF
Python简明教程
PPTX
Python01
PDF
Python 于 webgame 的应用
PDF
用Cython封装c++代码为python模块的一点经验
PDF
Bitbucket pipeline CI
PPT
轻量级Flash服务器开发框架(刘恒)
PDF
用简单语言构建复杂系统
PPT
2 Python开发工具链
PDF
自动化运维管理
PDF
Python的module机制与最佳实践
PDF
简单Pthon教程
PPTX
使用Rpm&yum进行基础软件管理
Windows 環境下建構python 跑VMware API
Python 實戰 WMS 系統開發 Python 實戰 WMS 系統開發 Python 實戰 WMS 系統開發
LineBot.pptx
Python beginner tutorial
建置Python開發環境
PIME - 用 Python 和 JavaScript 快速開發 Windows 的中文輸入法
如何幫樹莓派安裝常用的Python套件(How to Install Python Package on Raspberry Pi)
设置用vim编辑python
Python简明教程
Python01
Python 于 webgame 的应用
用Cython封装c++代码为python模块的一点经验
Bitbucket pipeline CI
轻量级Flash服务器开发框架(刘恒)
用简单语言构建复杂系统
2 Python开发工具链
自动化运维管理
Python的module机制与最佳实践
简单Pthon教程
使用Rpm&yum进行基础软件管理

Python meetup 1