Top Banner
Learn Python in 30 min - 1 cmj 1
56

Learn python 1

Aug 03, 2015

Download

Technology

Chia-Hao Tsai
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Learn python 1

Learn Python in 30 min - 1cmj

1

Page 2: Learn python 1

Python - Programming Language

2

Page 3: Learn python 1

‧ 直譯式程式語言 - 不需要編譯 (省時間)

‧ 直白的程式語言 - 所想即所得 (省時間)

‧ 豐富的程式語言 - 資源豐富 (省時間)

3

Page 4: Learn python 1

4

Page 5: Learn python 1

First Program - Hello World

5

Page 6: Learn python 1

Hello World

6

Page 7: Learn python 1

Hello World標準輸出:print

執⾏行 (輸出) Hello World

7

Page 8: Learn python 1

Hello World只是個註解:#

註解 (給⼈人/機器看的)

8

Page 9: Learn python 1

Hello World

只是個⽤用不到的變數

9

Page 10: Learn python 1

簡單吧~

10

Page 11: Learn python 1

來點複雜的∼

11

Page 12: Learn python 1

條件/輸入

12

Page 13: Learn python 1

條件/輸入縮排 (Indent) /範圍 (Scope)

縮排 (indent):⽤用來判斷範圍 (scope)

13

Page 14: Learn python 1

縮排

‧ 之前提過,Python 很好閱讀

‧ 跟其他程式語言不一樣,範圍 (scope) 使用縮排

‧ 可以少打兩個大括號 (Braces) => 省時間/好閱讀

‧ 比較一下∼

14

Page 15: Learn python 1

混亂 C 程式碼 (2013)http://www0.us.ioccc.org/2013/misaka/misaka.c

15

Page 16: Learn python 1

條件/輸入輸入到按 Enter:raw_input

標準輸⼊入

16

Page 17: Learn python 1

條件/輸入輸出

豐富的字串處理

17

Page 18: Learn python 1

字串處理

‧ Python 另一個優點:較方便的字串處理

‧ 兩種處理字串方式

‧ C-Style

‧ 比較潮的 String Format:接近呼叫函數

18

Page 19: Learn python 1

String Format數字就是 index,字串就是變數名稱

19

Page 20: Learn python 1

條件/輸入條件判斷:if

條件:只有是程式進⼊入點才會執⾏行

20

Page 21: Learn python 1

條件 (Condition)

‧ Key Word:if,elif,else

‧ 當條件為非假時執行

‧ None、False、0、空 (字串、列表) 都為假

‧ scope:用冒號 (Colon) 做分隔

‧ scope 內的為條件執行的範圍

21

Page 22: Learn python 1

跟得上嗎!?喝口水吧~

22

Page 23: Learn python 1

回到基本的程式設計

23

Page 24: Learn python 1

變數

只是個⽤用不到的變數

24

Page 25: Learn python 1

‧ 變數在程式語言很重要

‧ 紀錄目前運作中的狀態

‧ 變數 (理論上) 全域可得

25

Page 26: Learn python 1

‧ 有很多種變數

‧ 布林值 (True / False)

‧ 數字 (Integer / Float)

‧ 字串

‧ List / Tuple / Dict / Set / Iterator

‧ 函數 (Function) / 物件 (Object)

‧ 例外 (Exception)

26

Page 27: Learn python 1

串列

‧ 串列:一串東西

‧ List / Tuple (不可修改):有序串列。

‧ Dict:字典 (Key-Value 對映關係)。

‧ Set:Hash 形式的無序串列。

‧ Iterator:動態決定的串列。

27

Page 28: Learn python 1

剩下的,用到的時候就知道了^.<

28

Page 29: Learn python 1

來點數學吧∼

29

Page 30: Learn python 1

等差數列和其實有更簡單的∼

30

Page 31: Learn python 1

等差數列和keyword:def (define)

定義函數

回傳結果

31

Page 32: Learn python 1

‧ 函數定義時

‧ keyword:def

‧ 一樣有 scope 概念

‧ 變數沒有預設型態 => 自己檢查吧

‧ 要不要回傳 => 自己決定吧

32

Page 33: Learn python 1

等差數列和

這叫做例外

33

Page 34: Learn python 1

‧ 例外處理

‧ 強制中斷

‧ 回到呼叫的地方,直到

‧ 有人接收 (try-except) 為止,或者

‧ 結束程式

34

Page 35: Learn python 1

等差數列和迴圈

操作迴圈

35

Page 36: Learn python 1

‧ 迴圈:for 東西 in 一大堆東西

‧ 一大堆東西可以是很多種:只要能夠列舉

‧ 最常見的:從 0 ~ n

‧ 可以自己列:用 [0, 1, 2, 3, 4]

‧ 或者用內建函數幫你:range(n)

36

Page 37: Learn python 1

最後一個、類別 (Class)

37

Page 38: Learn python 1

簡單來說,來創造自己的小宇宙吧~

38

Page 39: Learn python 1

創造類別

39

Page 40: Learn python 1

創造類別class

定義

40

Page 41: Learn python 1

‧ 類別始於 class

‧ 一切定義在 scope 當中

‧ scope 裡定義 class 的所有能力

41

Page 42: Learn python 1

創造類別方法論!?

⽅方法

42

Page 43: Learn python 1

‧ 方法 (method)

‧ 用於操作 class 的方法

‧ 約定成俗,_ 代表私密的 (所以兩個就極私密的)

‧ __XXX__ 通常代表內部使用

‧ __init__,__del__ 建構子與解構子

‧ 建立物件、刪除物件的時候自動呼叫

43

Page 44: Learn python 1

創造類別建構 (constructor)

這叫做建⽴立

44

Page 45: Learn python 1

創造類別解構 (destructor)

這叫做刪除

45

Page 46: Learn python 1

創造類別屬性 (property)

預設參數,內部屬性

46

Page 47: Learn python 1

‧ 方法,也就是一個函數

‧ 可以有預設值 (但是有預設值得要放在最後面)

‧ class 中的 method 第一個變數一定是自己

‧ 約定成俗:使用 self

‧ 所有塞到 self 的屬性,同 class 可以使用

‧ 外面的人也可以看到

47

Page 48: Learn python 1

還有更多 很潮 的功能,下次再說

48

Page 49: Learn python 1

整理一下

49

Page 50: Learn python 1

‧ 學習怎樣看 Python Code

‧ 了解基本的程式架構

‧ 輸出/輸入

‧ 邏輯判斷

‧ 迴圈

‧ 簡單了解變數、函數、類別

50

Page 51: Learn python 1

當然,會有作業!

51

Page 52: Learn python 1

1. 了解第一個有用的網路資源:https://doc.python.org

2. 看過所有 Python 提供的 Built-In Function

1. https://docs.python.org/2/library/functions.html

2. 抽考 Built-In Function 的內容 (或者下次提問)

3. 這很重要,除非你跟我一樣愛重新造輪子

3. 程式作業!

52

Page 53: Learn python 1

程式作業

‧ 寫出一個 function: F(n) 產生 n*n 乘法表

‧ 例如

‧ F(1) 1

‧ 1 1

‧ F(2) 1 2

‧ 1 1 2

‧ 2 2 4

‧ 排版要好看!

53

Page 54: Learn python 1

程式作業 - 進階

‧ 謎之聲:聽說很愛考白版題

‧ 實作下面的數學問題 By 自己定義一個函數 f

‧ f(0) 可以得到 1

‧ f(1) 可以得到 2

‧ 輸入 f(n) 是得到 3*f(n-1) - 2*f(n-2)

‧ 方法不限,只要是函數就可以了∼

54

Page 55: Learn python 1

那,今天就這樣了∼

Q&A

55

Page 56: Learn python 1

Thanks for your attentions

56