標題版面配置

Similar documents
Python_01

CHAPTER VC#

Excel VBA Excel Visual Basic for Application

Microsoft PowerPoint - C_Structure.ppt

Microsoft Word - ACG chapter00c-3ed.docx

Microsoft PowerPoint 台南一中-99高中宣導簡報

PowerPoint Presentation

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

CC213

CC213

Microsoft PowerPoint - 02_運算.pptx

Microsoft PowerPoint - Class5.pptx

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

ii Vue Bootstrap 4 ES 6 Vue Vue Bootstrap 4 ES 6 Vue 2 vue html vue html vue Vue HTML 5 CSS ES 6 HTML 5 CSS Visual Studio Code h

3.1 num = 3 ch = 'C' 2

C/C++语言 - 运算符、表达式和语句

数据结构与算法 - Python基础

Java 程式設計入門

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

标题

PowerPoint 簡報

C++ 程式設計

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

python内存管理

C/C++ - 函数

C/C++语言 - C/C++数据

Computer Architecture

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

C/C++程序设计 - 字符串与格式化输入/输出

Microsoft PowerPoint - Bronson-v3-ch02.ppt [相容模式]

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

( ) ( ) TAIWAN NATURAL SCIENCE Vol.32(1) 85

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>

投影片 1

Microsoft PowerPoint - 04-array_pointer.ppt

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

Microsoft Word - 投影片ch03

untitled

C/C++ - 字符输入输出和字符确认

C/C++ - 文件IO

VB.Net

C C

epub83-1

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C Project 30 C Project 3 60 Project 40

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

ebook14-4

WWW PHP

Microsoft PowerPoint - STU_C_Lang_CH13.ppt

Microsoft PowerPoint - OPVB1基本VB.ppt

資料結構之C語言重點複習

(Microsoft Word - \244g\246a\247B\244\275\253H\245\365\244\247\275\325\254d\254\343\250s doc)

( Version 0.4 ) 1

穨centre.PDF

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

Microsoft PowerPoint - 01國家考試講座簡報--中興大學簡報

C 語言—陣列及字串

運算子多載 Operator Overloading

C

c_cpp

APA Preliminaries Text Reference 1. Cover Page 2. Title Page 3. Signature Page 4. Advisor s recommendation letter 5. Approval page 6. Copyri

Writer範本

Java 1 Java String Date

Microsoft Word - PHP7Ch01.docx

天 主 教 輔 仁 大 學 社 會 學 系 學 士 論 文 小 別 勝 新 婚? 久 別 要 離 婚? 影 響 遠 距 家 庭 婚 姻 感 情 因 素 之 探 討 Separate marital relations are getting better or getting worse? -Exp


01

untitled

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

國家圖書館典藏電子全文

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor


國立台灣大學圖書資訊學系四十週年系慶學術研討會論文格式

Microsoft PowerPoint - Class2.pptx

Transcription:

Computer programming and Data Science William Hsu Department of Computer Science and Engineering National Taiwan Ocean University

Python 一種相對容易上手但難精的語言 2019/2/20 2

Python 簡介 Google 網站的搜尋系統 Youtube 視訊共享服務 BitTorrent 點對點檔案共享系統 NSA 的加密和智能分析 irobot 開發商業機器人吸塵器 NASA Los Alamos Fermilab JPL 的科學程式設計任務 Industrial Light & Magic Pixar 製作電影動畫 2019/2/20 5

Python 的熱門度 TIOBE 根據程式語言在各大搜尋引擎 ( 包含 Google Bing Wikipedia 等 ) 的點擊率, 計算出熱門程度分數並以此排名, 每年都會選出排名成長最多的程式語言作為年度語言 雖然這項排名並不代表程式語言實際使用人數, 卻能反映出該年度趨勢 2019/2/20 6

TOIBE index (2019 Feb) 你們要學的在這邊 2019/2/20 7

TOIBE index (2019 Feb) 2019/2/20 8

Python 特色 物件導向式語言架構 (Object-Oriented Program Language) 直譯式 省略變數類型宣告動作 自動化的記憶體管理 內建許多高階實用的資料型態 跨平台與圖形介面延伸 優雅簡潔, 易學易用 2019/2/20 9

Python 介紹 創始人為吉多 范羅蘇姆 (Guido van Rossum) 打發聖誕節的無趣, 決心開發一個新的指令碼解釋程式, 作為 ABC 語言的一種繼承 以 BBC 喜劇 Monty Python's Flying Circus 命名 Python 2.0 於 2000 年 10 月 16 日發布, 主要是實作完整的垃圾回收 (Garbage Collection), 並且支援 Unicode 2008 年 12 月 3 日發布 Python 3.0 它不完全相容之前的 Python 代碼 不過, 很多新特性後來也被移植到舊的 Python 2.6/2.7 版本 2019/2/20 10

Python 的作者 http://en.wikipedia.org /wiki/guido_van_rossum Guido van Rossum 吉多 范羅蘇姆 2019/2/20 11

Python s benevolent dictator for life Python is an experiment in how much freedom programmers need. Too much freedom and nobody can read another's code; too little and expressive-ness is endangered. - Guido van Rossum 2019/2/20 12

Python2 或 Python3 Python2.X 穩定版本 version2.7 為最終版本 較多的第三方函式庫 仍有為數眾多的使用者 Python3.X 現在進行式同時也是未來趨勢 活絡發展中 對初學者較友善 較少第三方函式庫 2to3.py 3to2.py Brett Cannon, Python 3.3: Trust Me, It's Better than 2.7, PyCon 2013 https://www.youtube.com/watch?v=f_6vdi7ywua 2019/2/20 13

Python 程式開發 - 雲端服務 微軟提供的服務 Azure Notebook https://notebooks.azure.com/ Colaboratory Google 提供的服務 https://colab.research.google.com/notebooks/welcome.ipynb#re cent=true 2019/2/20 14

標記 直譯器利 標記 (token) 解析程式的功能,Python 中的標記有關鍵字 (keyword) 識別字 (identifier) 字 常數 (literal) 運算 (operator) 等四類 關鍵字 識別字 字 常數 運算 2019/2/20 15

關鍵字 關鍵字為具有語法功能的保留字 (reserved word),python 的關鍵字, 如以下列表 2019/2/20 16

識別字 識別字為寫程式時依需求 定義的名稱, 包括變數 (variable) 函數 (function) 類別 (class) 等, 皆為使 定義的識別字 除了關鍵字之外, Python 可 任何 Unicode 編碼的字元當作識別字 習慣上識別字的命名仍是以英 字 寫 A- Z(\u0041-\u005a), 寫 a-z (\u0061-\u007a) 底線符號 (_, \u005f) 與數字 0-9(\u0030-\u0039) 為主 2019/2/20 17

字 常數 字 常數的意思就是字 上的意義, 也就是說, 1234 就代表整數數值 千兩百三 四的意義, 因此, 所謂的字 常數就是直接寫進 Python 程式原始碼的數值, 依資料型態分類有 字串字 常數 (string literal) 字節字 常數 (bytes literal) 整數字 常數 (integer literal) 浮點數字 常數 (floating-point literal) 複數字 常數 (imaginary literal) 2019/2/20 18

運算 Python 提供多樣 功能完整的運算, 如下列表 分隔符號 (delimiter) 2019/2/20 19

變數 (Variables) 和表 式 (Expressions) 表 式 (Expressions) 3 + 5 3 + (5 * 4) 3 ** 2 Hello + World 變數指定 (Assignments) a = 4 + 3 b = a * 4.5 c = (a+b)/2.5 a = Hello World 型別是動態的, 會根據指定時的物件來決定型別 變數單純只是物件的名稱, 並不會和記憶體綁在 起 和記憶體綁在 起的是物件, 不是物件名稱

關於變數 為何需要變數? 變數好比容器 變數要如何命名? 以底線或英文字母開頭字符 以底線, 英文字母和數字為後續字符 不可與關鍵字 ( 保留字 ) 相同 變數的名字 ( 罐子 A) 變數的值 ( 三公升 ) 變數的型態 ( 水 ) 2019/2/20 21

關於變數 定義變數與初始化變數 var = 70 ( 整數 ) var = 6.78 ( 浮點數 ) var = alcom lab ( 字串 ) Programmer 撰寫 Python 時不必在意變數的 size( 容器的大小 ) 因為細節被隱藏 變數值同時可以看出變數型態 variable name = value 變數名稱必須符合規範

關於變數 Python 的變數是可以更換型態的 >>> a = 5 >>> a = kkk >>> a = 3.14159 這並非指 Python 沒有型態 而是同一個變數名稱可以任意指稱裝載任何型態的容器 ( 物件參照 ) 在 Python Shell 中直接輸入變數名稱可看到變數的再現型態 2019/2/20 23

賦值運算 賦值運算是最常被使用的運算 將運算的結果賦予 ( 存到 ) 一個變數, 將右邊運算的結果 ( 右值 ) 賦予左邊 ( 左值 ) left value = right value 等號是賦值運算的運算子 代表把右邊給予左邊 跟一般在數學上的意義 相等 是完全不同的 2019/2/20 24

物件參照 Python 在實作上採取了參照物件的作法 個資料 ( 物件 ) 必須得有 個空間 ( 容器 ) 來保存它, 在許多程式語 中, 變數就是容器的名字, 但在 Python 中, 變數只是 張標籤, 此標籤指出了真正容器之所在, 因 參照了該容器裡 保存的物件 標籤 Python 的變數 參照 真正的容器 ( 空間 ) 物件 ( 資料 ) 2019/2/20 25

物件參照 範例 : 整數變數的賦值 >>> a = 5 >>> a = kkk >>> a = 3.14159 ❶ 5 a 參照 ❷ ❸ " kkk" 3.14159 2019/2/20 26

物件參照 範例 : a 參照 10.5 b 參照 hello a 參照 6 b 參照 is: 判斷兩個物件的 id 是否相同 ==: 判斷兩個物件的 value 是否相同 2019/2/20 27

變數與物件 Python 中所有東 都是物件 (object), 這是說 Python 裡的資料 (data) 都是物件 凡是物件都有 : (id) 號碼 (type) 型態 (value) 數值 物件的值可以是可變的 (mutable), 或是不可變的 (immutable), 通常這是說複合資料型態 (compound data type) 的元素 (element) 是否可以替換, 例如序對 (tuple) 及字串是不可變的, 串列 (list) 或字典 (dictionary) 是可變的 當物件不再使 時, 直譯器會 動垃圾收集 (garbage collection), 釋放記憶體空間 2019/2/20 28

可變與不可變 資料型態有分成可變的 (mutable) 與不可變的 (immutable) 指的是變數所參照的物件本身可否改變 不可變資料型態 : 整數, 浮點數, 字串 被自動回收 a 參照 5 6 變數 a 原先參照的物件 : 整數 5 並沒有被改變而是產生了新的整數物件 6 並且將變數 a 重新繫結到物件 6 2019/2/20 29

可變與不可變 可變資料型態 : 串列, 字典 a 參照 0 1 2 1 a 6 a 參照 0 1 2 3 變數 a 原先參照的串列被改變了, 增加了 個元素 5.1 也改變了第三個元素 7 1 a 5.1 6 7 2019/2/20 30

資料型態 整數 int 浮點數 float 複數 complex 字串 str 字節 bytes 字節陣列 bytearray 串列 list 序對 tuple 集合 set 字典 dict 2019/2/20 31

數字型態 內建的數字型態 (numeric types) 共有三種 int 整數 100 float 浮點數 123.45 complex 複數 3+4j 2019/2/20 32

數學運算 基本四則運算 : + - * / % 運算特性 : 以複雜者為主且運算精確性有限 Python 所 援的特殊運算 : 次 : 2**10 整商除法 : 10//3 2019/2/20 33

複數運算 實部 虛部 2019/2/20 34

內建序列型態 內建的序列型態 (sequence types) 共有六種 str: 字串 (string), 不可變 (immutable) bytes: 字節 (byte), 不可變 (immutable) bytearray: 字節陣列 (byte array), 可變 (mutable) list: 串列 (list), 可變 (mutable) uple: 序對 (tuple), 不可變 (immutable) range: 內建函數 range() 回傳的物件 (object) 常 於 for 迴圈 (for loop) 2019/2/20 35

字串 (String) 字串的特徵為引號, 包含單引號, 雙引號和三引號 預設以單引號表 使 索引位置可以存取元素 字串的元素是有序的 ( 誰前誰後有關係 ) 字串頭尾的引號必須相同對稱 Strings ( 字串 ) a = Hello # Single quotes b = World # Double quotes c = Bob said hey there. # A mix of both d = A triple qouted string can span multiple lines like this e = Also works for double quotes 2019/2/20 36

序列型態 (sequence types) 可進 以下的計算 2019/2/20 37

串列 list 是最實 也最常 的群集 可以收集不同資料型態的元素 list 中的元素允許是 list list 的元素是有序的 ( 誰前誰後有關係 ) list 的特徵是中括號 [ ], 使 索引位置可以存取元素 不同型態的資料可以被收集在同一個清單中 顯示 list1 的第一個元素 ( 在電腦領域裡計數由零開始 ) 2019/2/20 38

http://docs.python.org/ 2019/2/20 39

The Python tutorial is good! 2019/2/20 40