SlideShare une entreprise Scribd logo
1  sur  33
01:變數與輸出入
2018.1.30
財團法人中華民國電腦技能基金會 策劃 逢甲大學 林英志 老師 編著
主題
• 變數
• 變數命名規則
• 數值、布林與字串資料型態
• 輸出、輸入
• print, input
• 資料型態轉換
2
變數(variable)
• 當變數被使用時,系統會配置一塊記憶體空間給此變數
• 變數名稱  此塊記憶體的代號
• 資料型態  此塊記憶體的大小
3
指定值
• Python 變數不需宣告就可使用,語法為:
• 變數名稱 = 變數值
• score = 92 # Python的變數
• int score = 92 // C語言使用變數前要先宣告
4
指定值
• 使用變數時不必指定資料型態,Python 根據變數值設定
資料型態
• 例如上述變數 score 的資料型態是整數(integer)
• e.g., fruit = “香蕉”
• # fruit的資料型態為字串(string)
5
其他指定法
• 如果多個變數有相同變數值,可以一起指定變數值
• 例如變數 a、b、c 的值皆為 20:
• a = b = c = 20
• 也可以在同一列指定多個變數,變數之間以「,」分隔
• 例如變數 age 的值為 18,name 的值為「魯夫」:
• age, name = 18, “魯夫”
6
變數的命名
• 變數命名必須遵守的規則,否則在執行時會產生錯誤
• Python 變數的命名規則為:
• 變數名稱的第一個字母必須是大小寫字母、_、中文
• 1fruit  
• 只能由大小寫字母、數字、_、中文組成變數名稱
• fruit_price  
• fruit-price  
7
變數的命名
• 變數命名必須遵守的規則,否則在執行時會產生錯誤
• Python 變數的命名規則為:
• 英文字母大小寫視為不同變數名稱
• Fruit, fruit
• 變數名稱不能與 Python 內建的保留字(reserved word)相同
• 也稱為關鍵字(keyword)
8
保留字
9
中文變數名稱
• 雖然 Python 3.x 的變數名稱支援中文,但不推
10
練習一下
• 這些變數名稱合法嗎?
11
7eleven John&Mary
Angela baby print
命名慣例規範 ─ PEP 8
• 避免使用的命名:
• 除了計數器及迭代器之外,不要用單一字母為變數命名
• 變數名稱前後不要加上兩個雙底線,如 __fruit
• 命名通則:
• 一般變數用小寫英文單字,且單字間用底線符號相連
• e.g., stu_name, course_info
12
資料型態
• 數值(numeric)
• 整數(int)、浮點數 (float)
• e.g., 23, 12.21, 15.0
• 布林 (Boolean)
• True, False
• 1 or 3  True
• 0 and 1  False
13
資料型態
• 字串(string)
• Python 字串資料型態(str) 是以一對雙引號「"」或單引號「'」
包起來,例如:
• str1 = “這是字串”
• str2 = ‘這也是字串’
• 如果字串要包含引號本身,可以這樣用:
• str3 = ‘胡適說過“要怎麼收穫,先那麼栽”’
14
跳脫字元
• 字串含有特殊字元(如Tab、換行等),要使用跳脫字元
• 以「」開頭,後面接一定格式的字元來代表特定意義
15
跳脫字元 意義 跳脫字元 意義
’ 單引號「’」 ” 雙引號「”」
 反斜線「」 n 換行
r 游標移到列首 f 換頁
b 後退鍵(BackSpace) v 垂直定位
o 以八進為表示字元 t Tab鍵
x 以十六進為表示字元 a 響鈴
主題
• 變數
• 變數命名規則
• 數值、布林與字串資料型態
• 輸出、輸入
• print, input
• 資料型態轉換
16
輸出到螢幕
• 利用 print 輸出到螢幕的語法有三種:
• 簡易法
• print(“TQC+ Python 3認證考試”)
• print(“3*5 = ”, num)
• 格式化輸出
• print(“%3.2f” % num)
• 懶人法
• print(“{} 好棒棒”.format(name))
17
輸出到螢幕 (I)
• print 命令能將指定項目輸出到螢幕,語法為:
• print(項目1[, 項目2, …, sep = 分隔字元, end = 結束字元 ])
• 項目1, 項目2, …:可以一次輸出多個項目,以逗號分隔
• sep:分隔項目的字元,預設值為一個空白
• end:輸出完後自動加入的字元,預設值為換行字元(n)
18
輸出到螢幕 (II)
• print 命令支援參數格式化功能,語法為:
• %s  字串
• %d  整數
• %f  浮點數
• print(項目 % (參數列))
19
格式化輸出 (II)
• 格式化輸出可控制輸出位置,讓輸出的資料整齊排列,
例如:
• %5d, %5s:輸出 5 個字元
• 小於 5 位數  在數字左方填入空白字元
• 大於 5 位數  全部輸出
• %8.3f:輸出 8 個字元(含小數點),小數後固定輸出 3 位數
• 若小數小於 3 位數  在數字右方填入「0」字元
• 若整數小於 5 位數  在數字左方填入空白字元
20
格式化輸出 (II)
• 這個範例的輸出是甚麼?
21
輸出到螢幕 (III)
• 也可使用字串的 format 方法來做格式化,以一對大括號
「{}」表示參數的位置,語法為:
• print(字串.format(參數列))
22
輸入資料
• print 命令是輸出資料,input 命令與 print 命令相反,是
讓使用者由「標準輸入」裝置輸入資料。
• 變數 = input([提示字串])
23
輸入資料
• 注意在 Spyder
編輯器的輸入
方式
24
這裡輸入
主題
• 變數
• 變數命名規則
• 數值、布林與字串資料型態
• 輸出、輸入
• print, input
• 資料型態轉換
25
資料型態
• 試試看這段程式碼
26
如何修正?
27
資料型態轉換
• 如果系統無法自動進行資料型態轉換,就需以資料型態
轉換命令強制轉換。
• Python 強制資料型態轉換命令有:
• int()  轉換為整數型態
• float()  轉換為浮點數型態
• bool()  轉換為布林型態
• str()  轉換為字串型態
28
查看資料型態
• type 命令會取得變數的資料型態,當不確定某些項目的
資料型態,可用 type 命令確認,語法為:
• type(變數名稱)
29
eval 命令
• 語法:eval (表示式)
30
試試看
31
PY3-0002
一、圓形面積計算
32
本章結束

Contenu connexe

Tendances

Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章neochen2701
 
Code Formula 2014 予選A 解説
Code Formula 2014 予選A 解説Code Formula 2014 予選A 解説
Code Formula 2014 予選A 解説AtCoder Inc.
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 1.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.1 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
AtCoder Beginner Contest 004 解説
AtCoder Beginner Contest 004 解説AtCoder Beginner Contest 004 解説
AtCoder Beginner Contest 004 解説AtCoder Inc.
 
DDPC 2016 予選 解説
DDPC 2016 予選 解説DDPC 2016 予選 解説
DDPC 2016 予選 解説AtCoder Inc.
 
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説AtCoder Inc.
 
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説AtCoder Inc.
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化MITSUNARI Shigeo
 
如何設計一場工作坊
如何設計一場工作坊如何設計一場工作坊
如何設計一場工作坊培琳 陳
 
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)MITSUNARI Shigeo
 
AtCoder Regular Contest 042 解説
AtCoder Regular Contest 042 解説AtCoder Regular Contest 042 解説
AtCoder Regular Contest 042 解説AtCoder Inc.
 
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説AtCoder Inc.
 
тоон логик 5 l exclusive or
тоон логик 5 l    exclusive orтоон логик 5 l    exclusive or
тоон логик 5 l exclusive ortsdnsrn
 
動的計画法入門(An introduction to Dynamic Programming)
動的計画法入門(An introduction to Dynamic Programming)動的計画法入門(An introduction to Dynamic Programming)
動的計画法入門(An introduction to Dynamic Programming)kakira9618
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性Hibiki Yamashiro
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarrayRyosuke839
 

Tendances (20)

Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章
 
Code Formula 2014 予選A 解説
Code Formula 2014 予選A 解説Code Formula 2014 予選A 解説
Code Formula 2014 予選A 解説
 
типи данних мови С++
типи данних мови С++типи данних мови С++
типи данних мови С++
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 1.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.1 (ΕΚΤΥΠΩΣΗ)
 
AtCoder Beginner Contest 004 解説
AtCoder Beginner Contest 004 解説AtCoder Beginner Contest 004 解説
AtCoder Beginner Contest 004 解説
 
DDPC 2016 予選 解説
DDPC 2016 予選 解説DDPC 2016 予選 解説
DDPC 2016 予選 解説
 
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説
 
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
 
Fractional cascading
Fractional cascadingFractional cascading
Fractional cascading
 
如何設計一場工作坊
如何設計一場工作坊如何設計一場工作坊
如何設計一場工作坊
 
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
 
AtCoder Regular Contest 042 解説
AtCoder Regular Contest 042 解説AtCoder Regular Contest 042 解説
AtCoder Regular Contest 042 解説
 
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
 
тоон логик 5 l exclusive or
тоон логик 5 l    exclusive orтоон логик 5 l    exclusive or
тоон логик 5 l exclusive or
 
動的計画法入門(An introduction to Dynamic Programming)
動的計画法入門(An introduction to Dynamic Programming)動的計画法入門(An introduction to Dynamic Programming)
動的計画法入門(An introduction to Dynamic Programming)
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 
實驗數據的分析
實驗數據的分析實驗數據的分析
實驗數據的分析
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
 
不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray不遇の標準ライブラリ - valarray
不遇の標準ライブラリ - valarray
 

Similaire à TQC+ 程式語言 Python 01:變數與輸出入

Python 2 - 快速簡介
Python 2 - 快速簡介Python 2 - 快速簡介
Python 2 - 快速簡介Cheyin L
 
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式1138177709
 
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式summerfeng
 
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf模块一-Go语言特性.pdf
模块一-Go语言特性.pdfczzz1
 
4.視窗應用程式的基本輸出入 20131201
4.視窗應用程式的基本輸出入  201312014.視窗應用程式的基本輸出入  20131201
4.視窗應用程式的基本輸出入 20131201均林 盧
 
02.python基础
02.python基础02.python基础
02.python基础modou li
 
0927 sas實習課
0927 sas實習課0927 sas實習課
0927 sas實習課景淳 許
 
看似比較簡單的推坑教學 C語言從崩潰到崩潰Ex(二)
看似比較簡單的推坑教學 C語言從崩潰到崩潰Ex(二)看似比較簡單的推坑教學 C語言從崩潰到崩潰Ex(二)
看似比較簡單的推坑教學 C語言從崩潰到崩潰Ex(二)永立 連
 
文本序列标注模型:从Crf到rnn
文本序列标注模型:从Crf到rnn文本序列标注模型:从Crf到rnn
文本序列标注模型:从Crf到rnnYunchao He
 
Python 脚本入门基础
Python 脚本入门基础Python 脚本入门基础
Python 脚本入门基础wklken
 
Mysql开发与优化
Mysql开发与优化Mysql开发与优化
Mysql开发与优化isnull
 
Printf和scanf的用法
Printf和scanf的用法Printf和scanf的用法
Printf和scanf的用法also24
 
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出Justin Lin
 
02 Objective-C
02 Objective-C02 Objective-C
02 Objective-CTom Fan
 
VIM入门与进阶
VIM入门与进阶VIM入门与进阶
VIM入门与进阶pan weizeng
 
12, string
12, string12, string
12, stringted-xu
 
[科科營]電腦概述
[科科營]電腦概述[科科營]電腦概述
[科科營]電腦概述nctutlc2013
 
MySQL查询优化浅析
MySQL查询优化浅析MySQL查询优化浅析
MySQL查询优化浅析frogd
 

Similaire à TQC+ 程式語言 Python 01:變數與輸出入 (20)

Python 2-基本語法
Python 2-基本語法Python 2-基本語法
Python 2-基本語法
 
Python 2 - 快速簡介
Python 2 - 快速簡介Python 2 - 快速簡介
Python 2 - 快速簡介
 
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
 
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
 
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
 
4.視窗應用程式的基本輸出入 20131201
4.視窗應用程式的基本輸出入  201312014.視窗應用程式的基本輸出入  20131201
4.視窗應用程式的基本輸出入 20131201
 
02.python基础
02.python基础02.python基础
02.python基础
 
0927 sas實習課
0927 sas實習課0927 sas實習課
0927 sas實習課
 
看似比較簡單的推坑教學 C語言從崩潰到崩潰Ex(二)
看似比較簡單的推坑教學 C語言從崩潰到崩潰Ex(二)看似比較簡單的推坑教學 C語言從崩潰到崩潰Ex(二)
看似比較簡單的推坑教學 C語言從崩潰到崩潰Ex(二)
 
文本序列标注模型:从Crf到rnn
文本序列标注模型:从Crf到rnn文本序列标注模型:从Crf到rnn
文本序列标注模型:从Crf到rnn
 
Python 脚本入门基础
Python 脚本入门基础Python 脚本入门基础
Python 脚本入门基础
 
Mysql开发与优化
Mysql开发与优化Mysql开发与优化
Mysql开发与优化
 
Printf和scanf的用法
Printf和scanf的用法Printf和scanf的用法
Printf和scanf的用法
 
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
 
02 Objective-C
02 Objective-C02 Objective-C
02 Objective-C
 
VIM入门与进阶
VIM入门与进阶VIM入门与进阶
VIM入门与进阶
 
12, string
12, string12, string
12, string
 
Essential C/C++
Essential C/C++Essential C/C++
Essential C/C++
 
[科科營]電腦概述
[科科營]電腦概述[科科營]電腦概述
[科科營]電腦概述
 
MySQL查询优化浅析
MySQL查询优化浅析MySQL查询优化浅析
MySQL查询优化浅析
 

Plus de neochen2701

20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述neochen2701
 
201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察neochen2701
 
20191028 -successful cases
20191028 -successful cases20191028 -successful cases
20191028 -successful casesneochen2701
 
20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享neochen2701
 
20191014-林金祥-UIUX
20191014-林金祥-UIUX20191014-林金祥-UIUX
20191014-林金祥-UIUXneochen2701
 
20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具neochen2701
 
201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫neochen2701
 
201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽neochen2701
 

Plus de neochen2701 (8)

20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述
 
201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察
 
20191028 -successful cases
20191028 -successful cases20191028 -successful cases
20191028 -successful cases
 
20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享
 
20191014-林金祥-UIUX
20191014-林金祥-UIUX20191014-林金祥-UIUX
20191014-林金祥-UIUX
 
20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具
 
201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫
 
201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽
 

TQC+ 程式語言 Python 01:變數與輸出入