SlideShare a Scribd company logo
Python 的基本功夫(上)
2017/07/05
蔡數真
pabeni@iis.sinica.edu.tw
健康照護領域資料分析基礎能力研習
蔡數真
 現為中研院資訊所研究助理
 研究興趣 :
 電腦對局知識之深度學習
 模擬系統模組建構與分析
 資料特徵探勘
Python 系列課程介紹
 Python 的第一堂課 – Say Hello to Python
 Python基本介紹、相關軟體安裝與實作
 Python 的基本功夫(上)
 資料型態、變數、資料結構、運算式、敘述式與實作
 Python 的基本功夫(下)
 函式、類別、迴圈、檔案處理、套裝函式與實作
 Python 的實例與操作 – 以健康照護為例
 爬蟲程式、繪圖與實作
Outline
 變數
 變數的資料型態
 print 函式
 變數命名規則
 轉換資料型態
 跳脫字元
 運算子與運算式
 串列、元組、字典
 判斷式
4
變數
 變數為一個容器,此容器可以盛裝資料
 資料可為整數、小數、字元、字串… …等
 系統會依資料型態來決定配置的記憶體大小
 Python 會根據變數值來設定資料型態
5
變數的資料型態
 數值型態
 int、long、float、bool、complex … …
 字串型態
 string
 容器型態
 list、tuple、 dict、 set
6
利用type()得知資料型態
 利用 來確定項目的資料型態
 練習
 查詢 type(“數來寶”) 的資料型態
 查詢 type( 1 + 2j )的資料型態
 查詢 type(True) 的資料型態
7
Ex.
變數付值 - 非字串
 付值的格式
 例如 :
 age = 18
 height = 159.5
 flag = True
8
變數付值 - 字串
 格式
或
 例如 :
 name = “數來寶”
 name = ‘數來寶’
9
註解符號
 單行註解格式
 多行註解格式
或
10
使用print()列印字串
 格式
或
11
使用print()列印字串及數字
 格式
或
在 Python 裡,雙引號和單引號是一樣的,但需成對出現。
12
使用print()列印變數
 整數
 浮點數
 字串
13
使用print()列印數字變數之格式
 練習
14
Ex.
Ex.
使用print()列印數字變數之格式
 練習
15
使用print()列印浮點數變數之格式
 練習
16
Ex.
Ex.
使用print()列印浮點數變數之格式
 練習
17
使用print()列印字串變數之格式
 練習
18
Ex.
Ex.
使用print()列印字串變數之格式
 練習
19
使用print()列印數個變數
 練習
20
Ex.
Ex.
使用print()列印數個變數
 練習
 結果
21
Ex.
Ex.
變數命名規則
 變數僅能由大小寫英文字母、數字、底線、中
文字所組成
 英文大小寫被視為不同的字元
 第一個字不可為數字
 Python 3.x 開始支援變數使用中文字
 考慮可攜性,仍盡可能少用
 變數命名不可為保留字
22
Python 保留字
 利用 IPython 查詢是否
為保留字
 利用 IPython 列出所有
保留字
 練習
 檢查看看
是否為保留字?
23
Ex.
None
continue
break
while
True
true
Return
return
Python 保留字
 利用 IPython 查詢是否
為保留字
 利用 IPython 列出所有
保留字
 練習
 檢查看看
是否為保留字?
24
None True
continue True
break True
while True
True True
true False
Return False
return True
刪除變數
25
 刪除變數之格式
 練習
 觀看此程式之結果
Ex.
資料型態自動轉換
 練習一
 練習二
 練習三
26
Ex.
Ex.
資料型態強行轉換
變數 a 的型態 轉 變數 b 的型態 方法
int float float( a )
int string str( a )
float int int( a )
float string str( a )
string int int( a )
sting float float( a )
27
使用print()及分隔及結束字元
 練習
28
分隔字元 結束字元
使用print()及分隔及結束字元
 練習
 結果
29
分隔字元 結束字元
Ex.
Ex.
跳脫字元
跳脫字元 意義 跳脫字元 意義
’ 單引號 o 以八進位表示
” 雙引號 r 油標移到列首
 反斜線 t 水平跳格(Tab 鍵)
0 null 字元 v 垂直跳格
a 響鈴 x 以十六進位表示
b 退後鍵 uhhhh Unicode 16位元之十六進位值
f 換頁 Uhhhh Unicode 32位元之十六進位值
n 換行
30
跳脫字元
31
 練習
 結果
運算子
 單元運算子
 -30
 not 運算元
 二元運算子
 30 - 5
 運算元1 and 運算元2
32
算數運算子
運算子 意義
+ 左運算元 加 右運算元
- 左運算元 減 右運算元
* 左運算元 乘 右運算元
/ 左運算元 除以 右運算元
// 左運算元 除以 右運算元 商之整數
% 左運算元 除以 右運算元 之餘數
** “左運算元” 的 ”右運算元” 次方
 練習
 3 + 5 = ?
 5 – 8 = ?
 2 * 9 = ?
 33 / 5 = ?
 33 // 5 = ?
 33 % 5 = ?
 2 ** 10 = ?
33
Ex.
關係運算子
運算子 意義
== 左運算元 是否等於 右運算元
!= 左運算元 是否不等於 右運算元
> 左運算元 是否大於 右運算元
< 左運算元 是否小於 右運算元
>= 左運算元 是否大於等於 右運算元
<= 左運算元 是否小於等於 右運算元
 練習
 6+3 == 6+1 ?
 6+3 != 6+1 ?
 6+3 > 6+1 ?
 6+3 < 6+1 ?
 6+3 >= 6+1 ?
 6+3 <= 6+1 ?
34
Ex.
邏輯運算子
運算子 意義
not 回傳與原本相反的值
and 左運算元 與 右運算元皆為
True 時,回傳True,否則回傳
False。
or 左運算元 與 右運算元至少有
一為 True 時,回傳 True,否
則回傳 False。
 練習
 not(6>5) ?
 not(5>6) ?
 (2>1) and (3>2) ?
 (2>1) and (2>3) ?
 (1>2) and (3>2) ?
 (1>2) and (2>3) ?
 (2>1) or (3>2) ?
 (2>1) or (2>3) ?
 (1>2) or (3>2) ?
 (1>2) or (2>3) ?
35
Ex.
位移運算子
運算子 意義
<< 左運算元 向左位移 右運算元
個位元
>> 左運算元 向右位移 右運算元
個位元
 練習
 2 << 3
 16 >> 3
36
Ex.
位移運算子
運算子 意義
<< 左運算元 向左位移 右運算元個位元
>> 左運算元 向右位移 右運算元個位元
 練習
 2 << 3
 16 >> 3
37
128 64 32 16 8 4 2 1
2 的二位元表示 為 0 0 0 0 0 0 1 0
2 << 1 為 0 0 0 0 0 1 0 0
2 << 2 為 0 0 0 0 1 0 0 0
2 << 3 為 0 0 0 1 0 0 0 0
位移運算子
運算子 意義
<< 左運算元 向左位移 右運算元個位元
>> 左運算元 向右位移 右運算元個位元
 練習
 2 << 3
 16 >> 3
38
128 64 32 16 8 4 2 1
2 的二位元表示 為 0 0 0 1 0 0 0 0
2 << 1 為 0 0 0 0 1 0 0 0
2 << 2 為 0 0 0 0 0 1 0 0
2 << 3 為 0 0 0 0 0 0 1 0
位元運算子
運算子 意義
& 左運算元 和 右運算元皆為 True 時,
回傳 True,否則回傳 False。
| 左運算元 和 右運算元皆為 False
時,回傳 False,否則回傳 True。
^ 左運算元 和 右運算元同為 Ture 或
False時,回傳 False,否則回傳
True。
~ 與運算元相反
 練習
 (2>1) & (2>3) ?
 (1>2) & (2>3) ?
 (2>1) | (2>3) ?
 (1>2) | (3>2) ?
 (2>1) ^ (2>3) ?
 (1>2) ^ (2>3) ?
 ~(6>5) ?
 ~5
 5 & (-6)
39
Ex.
Ex.
指派運算子
運算子 意義
+= 左運算元 加 右運算元後,付值給左運算元
-= 左運算元 減 右運算元後,付值給左運算元
*= 左運算元 乘 右運算元後,付值給左運算元
/= 左運算元 除以 右運算元後,付值給左運算元
**= 左運算元 的 右運算元次方後,付值給左運算元
%= 左運算元 除以 右運算元的餘數,付值給左運算元
&= 左運算元 和 右運算元皆為 True 時,將 True 付值給左位元,否則付值 False。
|= 左運算元 和 右運算元皆為 False 時,將 False 付值給左位元,否則回傳 True。
^= 左運算元 和 右運算元同為 Ture 或 False 時,將 False 付值給左位元,否則回傳 True。
<<= 左運算元 向左位移 右運算元後,並付值給左運算元。
>>= 左運算元 向右位移 右運算元後,並付值給左運算元。
40
指派運算子
 練習
41
Ex.
指派運算子
 練習
42
8
6
30
10.0
100.0
4.0
Ex.
常見的資料結構介紹
 串列(list)
 元組(tuple)
 字典(dict)
 集合(set)
43
串列介紹
 字串是以串列的結構作儲存
 串列將元素置於中括號內,元素間以逗點分隔
44
串列與字串相加
 以「 + 」將串列作
合併
 練習
 以「 + 」將字串作
合併
 練習
45
Ex.
串列與字串相加
 以「 + 」將串列作
合併
 練習
 以「 + 」將字串作
合併
 練習
46
Ex.
產生重複串列與字串
 以「 * 」將串列作
重複
 練習
47
 以「 * 」將字串作
重複
 練習
Ex.
產生重複串列與字串
 以「 * 」將串列作
重複
 練習
48
 以「 * 」將字串作
重複
 練習
計算串列與字串長度
 計算串列之格式
 練習
 計算字串之格式
 練習
49
Ex.
字元在字串內第一次出現的位置
 格式
 練習
 練習
 把字串改用串列形式,
並觀察結果。
50
Ex.
字元在字串內第一次出現的位置
 格式
 練習
 練習
 把字串改用串列形式,
並觀察結果。
51
Ex.
計算字元在字串內出現的次數
 格式
 練習
 練習
 把字串改用串列形式,
並觀察結果。
52
Ex.
計算字元在字串內出現的次數
 格式
 練習
 練習
 把字串改用串列形式,
並觀察結果。
53
Ex.
讀出部分字串內容
 練習
54
Ex.
讀出部分字串內容
 練習
55
lo W
l
lo Wor
!dlroW olleH
Ex.
讀出部分字串內容
 練習  練習
 把字串改用串列形式,
並觀察結果。
56
Ex.
刪除部分字串內容
 練習
57
Ex.
Ex.
刪除部分字串內容
 練習
58
Ex.
Ex.
刪除部分字串內容
 練習
59
Ex.
Ex.
字串以大寫顯示
 格式
 練習
60
Ex.
字串以大寫顯示
 格式
 練習
61
Ex.
字串以小寫顯示
 格式
 練習
62
Ex.
字串以小寫顯示
 格式
 練習
63
Ex.
檢查字串的開頭
 格式
 練習
64
Ex.
檢查字串的結尾
 格式
 練習
65
Ex.
以特定字元切分字串
 格式
 練習
66
Ex.
取得串列中之最大值及最小值
 格式
 練習
 格式
 練習
67
在串列末端加入一個元素
 格式
 練習
68
Ex.
在串列末端加入另一串列
69
 格式
 練習
Ex.
在串列特定位置插入元素
 格式
 練習
70
Ex.
在串列特定位置插入元素
 格式
 練習
71
Ex.
取出並移除串列最末端元素
 格式
 練習
72
Ex.
移除串列中第一次出現的特定元素
 格式
 練習
73
Ex.
反向串列順序
 格式
 練習
74
Ex.
將串列由小到大排序
 格式
 練習
75
Ex.
將串列由大到小排序
 格式
 練習
76
Ex.
元組介紹
 元組與串列的結構完全相同,唯一不同處為元
組不能被修改
 元組是將元素置於小括號中,元素間以逗點分
隔
 大多可用於串列的指令皆可用於元組上,除了
修改元組的指令
77
串列與元組間的互換
78
串
列
元
組
字典介紹
 字典結構與串列類似,但其元素是以「鍵:值
」來表現
 字典是將元素置於大括號中,元素間以逗點分
隔,個元素間的鍵和值以分號分隔
 元素內的鍵必須是唯一的,若有重複的鍵,則
後者會覆蓋前者
79
修改字典內元素
 格式
 練習
80
Ex.
新增字典元素
 格式
 練習
81
Ex.
取得字典的元素個數
 格式
 練習
82
Ex.
取得字典內鍵對應的值
 根據”鍵”取得字典內的”值”,
若字典內沒有此”鍵”,則回傳指令的數值
 格式
 練習
83
Ex.
取得字典內鍵對應的值或新增元素
 根據”鍵”取得字典內的”值”
 若字典內沒有此”鍵”,則以此”鍵”與”數值”建立新
元素
 格式
 練習
84
Ex.
檢查鍵是否存在於字典內
 格式
 練習
85
Ex.
取得以字典內的鍵為元素的串列
 格式
 練習
86
取得以字典內的值為元素的串列
 格式
 練習
87
取得字典內的鍵和值為元素的串列
 格式
 練習
88
Ex.
複製字典
 格式
89
刪除字典特定元素
 格式
 練習
90
清除字典內所有元素
 格式
91
刪除字典
 格式
92
集合介紹
 集合結構是個無順序、不重複的元素集
 集合是將元素置於大括號中,元素間以逗點分
隔
93
串列轉集合
 格式
 練習
94
串列轉集合
 格式
 練習
95
新增集合內元素
 格式
 練習
96
取得集合的元素個數
 格式
 練習
97
新增集合內元素
 格式
 練習
98
刪除集合內的元素
 格式
 練習
99
刪除集合內的元素
 格式
 練習
100
檢查兩集合相互的關係
集合1 ⊆ 集合2 ?
 格式
 練習
集合2 ⊇ 集合1 ?
 格式
101
Ex.
Ex.
檢查兩集合相互的關係
集合1 ⊆ 集合2 ?
 格式
 練習
集合2 ⊇ 集合1 ?
 格式
102
Ex.
Ex.
求集合聯集
 格式
 練習
103
求集合聯集
 格式
 練習
104
求集合交集
 格式
 練習
105
求集合交集
 格式
 練習
106
求集合差集
 格式
 練習
107
求集合差集
 格式
 練習
108
複製集合
 格式
109
單向判斷式
 格式  流程圖
110
程式區塊1
程式區塊2
程式區塊3
條件
True
False
雙向判斷式
 格式  流程圖
111
程式區塊
1
程式區塊
2
程式區塊
4
條
件
TrueFalse
程式區塊
3
多向判斷式
 格式  流程圖
112
程式區塊1
程式區塊2 程式區塊n
條件1
True
False
程式區塊3
條件2 … …
程式區塊n+1
True
False
判斷式練習
 設定一個參數 score 為學生的成績,判斷此 score
的等第。
 score < 60
 屬於 E 等第
 60 ≦ score < 70
 屬於 D 等第
 70 ≦ score < 80
 屬於 C 等第
 80 ≦ score < 90
 屬於 B 等第
 90 ≦ score
 屬於 A 等第
113
Ex.
判斷式練習
 設定一個參數 score 為學生的成績,判斷此 score
的等第。
 供大家參考
 用這個程式讓大家練習一下今天的課程。
114
Ex.
判斷式練習
123
115
Ex.
資源介紹及參考資料
 codeacdemy
 https://www.codecademy.com/learn/all
 Learn Python Programming
 https://www.programiz.com/python-programming#learn-python-tutorial
 Python 使用者群組
 http://wiki.python.org.tw/Python/%E7%AC%AC%E4%B8%80%E6%AC%A1
%E7%94%A8%E5%B0%B1%E4%B8%8A%E6%89%8B
 CSS selector 指令介紹
 https://www.w3schools.com/cssref/css_selectors.asp
 Python - 十分鐘入門
 http://tech-marsw.logdown.com/blog/2014/09/03/getting-started-with-python-
in-ten-minute
116
資源介紹及參考資料
 學習如何使用 Python 程式語言
 https://www.gitbook.com/book/chusiang/using-python/details
 建立用於科學計算的 Python 開發環境
 http://ppt.cc/OBEsY
 tutorialspoint – Python
 https://www.tutorialspoint.com/python/index.htm
 網站擷取 – 使用Python by Ryan Mitchell
 Python 初學特訓班 by 文淵閣工作室
 不只是測試: Python 網路爬蟲王者 Selenium by 蟲師
117
資源介紹及參考資料
 Selnium wike
 https://en.wikipedia.org/wiki/Selenium_(software)
 Chromium wiki
 https://en.wikipedia.org/wiki/Chromium_(web_browser)
 CSS selector 指令介紹
 https://www.w3schools.com/cssref/css_selectors.asp
 網路爬蟲筆記
 https://dotblogs.com.tw/jason_wang/2016/12/18/python_crawler
 Built-in Exceptions
 https://docs.python.org/2/library/exceptions.html
118
資源介紹及參考資料
 Python 程式設計
 https://docs.python.org/3/tutorial/index.html
 matplotli
 https://matplotlib.org/users/text_intro.html
 Python 之旅
 http://www.chinesepython.org/pythonfoundry/marrpydoc/python1.htm
 蔡炎龍教授的 Python 自學投影片
 http://yenlung.km.nccu.edu.tw/home/index.php?f=contentShow&id=424
119

More Related Content

PPT
SCJP ch04
PDF
系統程式
DOCX
系統程式 -- 第 12 章 系統軟體實作
PDF
Python程式設計 - 迴圈作業
DOCX
系統程式 -- 第 8 章 編譯器
PDF
PPTX
3, operators
PPT
第6章指针
SCJP ch04
系統程式
系統程式 -- 第 12 章 系統軟體實作
Python程式設計 - 迴圈作業
系統程式 -- 第 8 章 編譯器
3, operators
第6章指针

Similar to Python系列2 (20)

PDF
Python程式設計 - 基本資料運算
PDF
Python變數與資料運算
PDF
[系列活動] 手把手打開Python資料分析大門
PPT
C 02 c语言的基本数据类型与表达式
PDF
手把手打開Python資料分析大門
PPT
chapter 1 basic knowledge about python.ppt
PPT
第2章数据类型、运算符和表达式
PDF
Ch8 習題
PPT
第1章 Matlab操作基础
DOC
实验一 Mathematica软件简介
DOC
实验一 Mathematica软件简介
PDF
Scilab introduction(Scilab 介紹)
PDF
Python basic - v01
PPT
第5章数组
PDF
Python 迴圈作業
PDF
Python程式設計 - 串列資料應用
PDF
02_Introduction_to_Python_Programming.pdf
PDF
【運算思維導向教材】生活中的資料檢驗
PDF
【運算思維導向教材】生活中的資料檢驗
PPTX
20161209-Julia Taiwan first meetup-julia語言入門
Python程式設計 - 基本資料運算
Python變數與資料運算
[系列活動] 手把手打開Python資料分析大門
C 02 c语言的基本数据类型与表达式
手把手打開Python資料分析大門
chapter 1 basic knowledge about python.ppt
第2章数据类型、运算符和表达式
Ch8 習題
第1章 Matlab操作基础
实验一 Mathematica软件简介
实验一 Mathematica软件简介
Scilab introduction(Scilab 介紹)
Python basic - v01
第5章数组
Python 迴圈作業
Python程式設計 - 串列資料應用
02_Introduction_to_Python_Programming.pdf
【運算思維導向教材】生活中的資料檢驗
【運算思維導向教材】生活中的資料檢驗
20161209-Julia Taiwan first meetup-julia語言入門
Ad

Recently uploaded (20)

PPTX
3分钟读懂加州大学欧文分校毕业证UCI毕业证学历认证
PPTX
《HSK标准教程4下》第15课课件new.pptx HSK chapter 15 pptx
PPTX
3分钟读懂滑铁卢大学毕业证Waterloo毕业证学历认证
PDF
01_Course_Introduction(20210916課後更新).pdf
PPTX
模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板
PPTX
3分钟读懂南威尔士大学毕业证UCB毕业证学历认证
PPTX
3分钟读懂伦敦南岸大学毕业证LSBU毕业证学历认证
PPTX
3分钟读懂佩珀代因大学毕业证Pepperdine毕业证学历认证
PPTX
3分钟读懂伦敦大学学院毕业证UCL毕业证学历认证
PPTX
A Digital Transformation Methodology.pptx
PPTX
ONU and OLT from Baudcom Jenny training PPT
PPTX
3分钟读懂圭尔夫大学毕业证U of G毕业证学历认证
PPTX
3分钟读懂索尔福德大学毕业证Salford毕业证学历认证
PPTX
3分钟读懂伦敦商学院毕业证LBS毕业证学历认证
PPTX
3分钟读懂渥太华大学毕业证UO毕业证学历认证
PPTX
3分钟读懂利物浦约翰摩尔大学毕业证LJMU毕业证学历认证
PPTX
3分钟读懂纽曼大学毕业证Newman毕业证学历认证
PPTX
3分钟读懂拉夫堡大学毕业证LU毕业证学历认证
PPTX
3分钟读懂贝尔法斯特女王大学毕业证QUB毕业证学历认证
PPTX
3分钟读懂肯塔基大学毕业证UK毕业证学历认证
3分钟读懂加州大学欧文分校毕业证UCI毕业证学历认证
《HSK标准教程4下》第15课课件new.pptx HSK chapter 15 pptx
3分钟读懂滑铁卢大学毕业证Waterloo毕业证学历认证
01_Course_Introduction(20210916課後更新).pdf
模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板
3分钟读懂南威尔士大学毕业证UCB毕业证学历认证
3分钟读懂伦敦南岸大学毕业证LSBU毕业证学历认证
3分钟读懂佩珀代因大学毕业证Pepperdine毕业证学历认证
3分钟读懂伦敦大学学院毕业证UCL毕业证学历认证
A Digital Transformation Methodology.pptx
ONU and OLT from Baudcom Jenny training PPT
3分钟读懂圭尔夫大学毕业证U of G毕业证学历认证
3分钟读懂索尔福德大学毕业证Salford毕业证学历认证
3分钟读懂伦敦商学院毕业证LBS毕业证学历认证
3分钟读懂渥太华大学毕业证UO毕业证学历认证
3分钟读懂利物浦约翰摩尔大学毕业证LJMU毕业证学历认证
3分钟读懂纽曼大学毕业证Newman毕业证学历认证
3分钟读懂拉夫堡大学毕业证LU毕业证学历认证
3分钟读懂贝尔法斯特女王大学毕业证QUB毕业证学历认证
3分钟读懂肯塔基大学毕业证UK毕业证学历认证
Ad

Python系列2