Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python 簡介 林子傑.

Similar presentations


Presentation on theme: "Python 簡介 林子傑."— Presentation transcript:

1 Python 簡介 林子傑

2 Outline Python 特色 程式語法 應用

3 Why Python?

4 TIOBE Index for April 2016

5 Python 特色 設計哲學是: 直譯式、動態語言 開發快速 「優雅」「明確」「簡單」 程式可閱讀性高 好學! 好寫! 效能??
好學! 好寫! 效能?? 開發快速 適合做 prototype 一個程式碼被閱讀的次數很高,且某種程度上讀程式比寫程式困難 python 年發布. ( c大約40年 .c++ 30 直譯式語言會將程式碼一句一句直接執行,不需先行編譯,好處是在開發修改時無須一一重新編譯 動態語言程式在執行時可以改變其結構,例如新的函式、物件、變數的型別也可以變換

6 Python 高階的資料型別能在一陳述句 (statement) 中表達很複雜的操作
陳述句的段落以縮排為區格而非刮號 不需要宣告變數和引數

7 誰在用 Python?

8 安裝 Python Ver or Ver

9 開啟 Python shell

10 Hello world! >>> print ‘hello world!’

11 開發環境 Pyzo – 輕量、小巧 PyCharm – 中大型專案需求 Eclipse with PyDev
PyCharm – 中大型專案需求 Eclipse with PyDev

12 Pyzo

13

14

15

16

17 Pyzo 好用指令 查看說明文件: ?X or X? ??X or X?? 路徑相關: cd ls 變數相關:
who - list variables in current workspace whos - list variables plus their class and representation 執行相關: timeit X - times execution of command X run X - run file X

18 Python 語法 使用 ”縮排” 代替大括號,且規範為 4 個空格 不使用分號 “ ; ”

19 Python 語法 資料型態: Integer Float Boolean String – ‘hello’ List – [ … ]
Dictionary – { … }

20 String str1 = ‘hello’ str2 = “!!!” str3 = “““ hello! goodbye”””
'hello!\ngoodbye' str4 = str1 + str2 >>> print str4 hello!!!

21 String str = ‘hello’ >>> str[0] ‘h’ >>> str[2] ‘l’
a = 100 str = “ans: {num}” .format(num = a) >>> print str ans: 100

22 List lst = [ 100 , 'hello‘ , [1,2] ] >>> lst[0] 100
[1, 2] >>> lst.append('hi') >>> lst [ 100, 'hello' , [1, 2] , 'hi' ] >>> lst[-1] 'hi'

23 List lst = [ 100 , 'hello' , [1,2] , 'hi' ] 'hello‘
>>> lst.pop(1) 'hello‘ >>> lst [ 100 , [1, 2] , 'hi' ] >>> lst.insert(1,'goodbye') >>> lst [ 100, 'goodbye' , [1, 2] , 'hi' ]

24 Dictionary dic = { 'name' : 'john' , 'age' : 30 }
>>> dic['f'] = 2 >>> dic { 'age' : 30 , 'name' : 'john' , 'f' : 2 } >>> dic.keys() [ 'age' , 'name' , 'f' ] >>> dic.pop('f') 2 >>> dic { 'age' : 30 , 'name' : 'john' }

25 流程控制 if / while if a == 10: print 'is 10' while a > 0: print a
break continue

26 if a = 2 if 0 <= a <= 3: print '0~3' elif 4 <= a <= 6:
else: print 'not in 0~6' >>> a = 3 >>> 0 <= a <= 3 True

27 流程控制 for >>> range(0,3) [0, 1, 2] >>> range(0,5,2)
for a in range(0,5): print a >>> range(0,3) [0, 1, 2] >>> range(0,5,2) [0, 2, 4] >>> range(6,1,-1) [6, 5, 4, 3, 2]

28 基本輸出/輸入 print >>> a = 10 print ‘hello’
num = 10 print num lst = [1,'hi'] print lst >>> a = 10 >>> print 'he is' , a , 'years old' he is 10 years old

29 基本輸出/輸入 input imput = input( 'message' ) 2.x 3.x 依據輸入不同給予不同類別
ex. 輸入 1 -> int , 輸入 ‘hello’ -> string raw_input() 3.x 統一給予為字串

30 自定義函式 def myPower( num, power ): return num ** power

31 import import math, os import myFunction 現成的 library 自定義函式、類別 需在相同目錄下
myFunction.myPower myFunction.str

32 第三方函式庫 web框架 科學計算 GUI 影像處理 Machine Learning Django Flask Matplotlib
SciPy Machine Learning scikit-learn GUI PyGtk PyQt 影像處理 PIL Pillow

33 安裝 >>> pip install pillow

34 批次作業 windows也有內建的一些方式可以修改

35

36 web資訊抓取 parser – sgmllib SGMLParser

37 科學計算 - SciPy

38 Scrapy 1.1 – PTT資料統計 擷取資料 推文分析 自動翻頁,並打開每篇文章 抓下標題、作者、本文 抓下每一則推文的作者和分數
matplotlib Numpy scikit-learn Seaborn

39

40 總結 Python 是一個簡單易學且好用的程式語言 第三方函式庫使用方便 開發快速,應用有潛力 語法簡單、閱讀性高,使用上也相當彈性
函式庫使用相較其他語言容易得多,只需import,拿來即用 IOT、SDN

41 參考資料 http://wiki.python.org.tw/Python
Python 台灣使用者群組 Python 3 Tutorial management-tools Python 套件管理程式簡介 Python 快速入門 Wikipedia Scrapy + Python 3: PTT 資料抓取與分析


Download ppt "Python 簡介 林子傑."

Similar presentations


Ads by Google