SlideShare a Scribd company logo
PPyytthhoonn 
PPrrooggrraammmmiinngg 
Johnson Hsu 
johnsonhsu@dsrt.biz
@ 
大綱 
 Chapter 1 認識Python 
 Chapter 2 內建物件型態 
 Chapter 3 流程控制 
 Chapter 4 程式撰寫的一些特性 
 Chapter 5 函式
@ 
Chapter 1 認識Python
@ 
應用
1. RedHat Linux 安裝程式 
2. Google 內部系統程式 
3. pydict 英漢字典 
4. Online Game Server 
…………. 
http://www.python.org/Quotes.html
@ 
PPyytthhoonn的特色
1. Script Language,直接在直譯器內執行、測試 
2. 跨平台: Windows、Linux-Like、Mac 
3. 完全自由 
4. 資料型態不需要被指定, Dynamic typing 
5. 用縮排(tab)表示與其他階層的關係 
6. Built-in tools:切割(slicing),連接(Concatenating).. 
7. 豐富的模組: HTML, Socket, Telnet, http…. 
8. 完整的物件導向特性:繼承, 多型… . 
9. 不強制是否要寫成物件 
10.擴充:執行C/C++程式 
11.內嵌:讓python成為C/C++的一部分(應用程式)
@ 
NNuummbbeerrss 
 整數 (integer, long integer) 
 base10 (-2147483648 ~ 2147483647) 
i = 2147483647 
i = 2147483647L 
 base8 
i = 0177 
i = 0177L 
 base16 
i = 0x7FFFFFFF 
i = 0x7FFFFFFFL
@ 
Chapter 2 內建物件型態
@ 
NNuummbbeerrss 
 float (雙精度浮點數, 64位元) 
1) 小數點 
 3.14 
2) 指數 
 1e100 
 3.14E-10 
 1e010 
 3.14E+10 
 complex 
1) 指定 
 i = 2.5 + 0.6j (i.real、i.imag) 
2) 函式 
 i = complex(2.5, 0.6)
@ 
SSttrriinnggss 
 一般標示法 
單引號 ‘ String’ 
雙引號  “ String” 
三引號  “”” String1 
String2….. 
String….””” 
 含有特殊字元的表示法 
雙引號 x = "johnson's“ 
單引號  x = 'johnson"s‘ 
反斜線  x = 'johnson's'
@ 
字串的操作
 字串相加 
 重複字串 
 取得字元在字串中的位置 
 字串分割 
 取得字串長度 
 格式化字串 
 字串疊代 
 隸屬成員
@ 
字串的操作 -- 字串相加
@ 
字串的操作 -- 重複字串
@ 
字串的操作--取得字串中特定位置的
字元
@ 
字串的操作 -- 字串分割
@ 
字串的操作 -- 取得字串長度
@ 
字串的操作 -- 格式化字串
@ 
字串的操作 -- 格式化字串 
%s String %X Hex integer (uppercase) 
%c Chapter %e 
%d Decimal (int) %E Floating-point format 3 
%i Integer %f Floating-point format 3 
%u Unsigned (int) %g floating-point format 4 
%o Octal integer %G Floating-point format 5 
%x Hex integer %% Literal % 
Floating-point format 1a
@ 
字串的操作 -- 字串疊代
@ 
字串的操作 -- 隸屬成員
@ 
LLiissttss 
 存放物件 
 格式 : [obj, obj…] 
i = [1, “2”, ‘3’, [4], (5,)] 
i = [] 
i = list() 
 list() 內建方法 
list((1, 2, 3, 4)) 
list([1, 2, 3, 4]) 
list(“1234”) 
list(‘1234’)
@ 
LLiisstt的操作
 取得list中特定位置的物件 
 取得物件於list中的位置 
 list切割 
 取得list大小 
 list相加 
 增加物件 
 重複list 
 list疊代 
 隸屬成員(in) 
 list排序 
 list倒置(reverse) 
 刪除物件
@ 
LLiisstt的操作 -- 取得lliisstt中特定位置
的物件
@ 
LLiisstt的操作 -- 取得物件於lliisstt中的
位置
@ 
LLiisstt的操作 -- lliisstt切割
@ 
LLiisstt的操作 -- 取得lliisstt大小
@ 
LLiisstt的操作 –– 物件相加
 進行相加一定要是List + List 
 list與字串相加, 必須先把list轉為string再相加, 
或者 
利用list內建方法將string轉為list再相加
@ 
LLiisstt的操作 -- lliisstt相加
@ 
LLiisstt的操作 -- 增加物件
 list.append(obj) == list.insert(len(list), obj) 
 list[len(list):] = [obj] == list.extend(obj) 
 list[:0] = [obj] == list.insert(0, obj)
@ 
LLiisstt的操作 -- 增加物件
@ 
LLiisstt的操作 -- 增加物件
@ 
LLiisstt的操作 -- 重複lliisstt
@ 
LLiisstt的操作 -- lliisstt疊代
@ 
LLiisstt的操作 -- 隸屬成員((iinn))
@ 
LLiisstt的操作 -- lliisstt排序
@ 
LLiisstt的操作 -- lliisstt倒置((rreevveerrssee))
@ 
LLiisstt的操作 -- 刪除物件
@ 
LLiisstt的操作 -- 刪除物件
@ 
LLiisstt的操作 -- 刪除物件
@ 
練習 –– 堆疊
 當作堆疊 (stack): <先入後出> 用哪兩個操作進 
出?
@ 
練習 –– 佇列
 當作列隊 (queue): <先入先出> 用哪兩個操作 
進出?
@ 
DDiiccttiioonnaarriieess 
 格式 : {key:value, key:value……} 
i = {1:’1’, ‘2’:2, (3,): (3,), 4:[4]} 
j = {} 
K = dict()
@ 
DDiiccttiioonnaarriieess的操作
 透過key取得value 
 隸屬成員(has_key('key')) 
 取得dict物件的所有key值(keys()) 
 取得dict物件的所有value值(values()) 
 重組dict物件 -> 一個tuple集合的list 
 取得dict中物件數目(key+value = 1) 
 藉由key修改dict中的物件值 
藉由dict物件修改dict中的物件值 
 藉由key刪除dict中的物件 
 清除dict中所有的成員 
 複製dict物件 
 setdefault方法的使用
@ DDiiccttiioonnaarriieess的操作 –– 
透過kkeeyy取得vvaalluuee
@ DDiiccttiioonnaarriieess的操作 –– 
透過kkeeyy取得vvaalluuee
@ DDiiccttiioonnaarriieess的操作 –– 
隸屬成員
@ DDiiccttiioonnaarriieess的操作 –– 
取得
ddiicctt物件的所有kkeeyy值
@ DDiiccttiioonnaarriieess的操作 –– 
取得ddiicctt物
件的所有vvaalluuee值
@ DDiiccttiioonnaarriieess的操作 –– 
重組ddiicctt物件 ->> 一個ttuuppllee 
集合的lliisstt
@ DDiiccttiioonnaarriieess的操作 –– 
取得ddiicctt中物件數目
@ DDiiccttiioonnaarriieess的操作 –– 
藉由kkeeyy修
改ddiicctt中的物件值
@ DDiiccttiioonnaarriieess的操作 –– 
藉由ddiicctt物件修改ddiicctt 
中的物件值
@ DDiiccttiioonnaarriieess的操作 –– 
藉由
kkeeyy刪除ddiicctt中的物件
@ DDiiccttiioonnaarriieess的操作 –– 
藉由
kkeeyy刪除ddiicctt中的物件
@ DDiiccttiioonnaarriieess的操作 –– 
藉由
kkeeyy刪除ddiicctt中的物件
@ DDiiccttiioonnaarriieess的操作 –– 
刪除ddiicctt中的物件
@ DDiiccttiioonnaarriieess的操作 –– 
清除ddiicctt中所有的成員
@ DDiiccttiioonnaarriieess的操作 –– 複製ddiicctt物
件
@ 
TTuuppllee 
 格式 : (obj,obj……), obj1, obj2, obj3 
i = (1,’2’,”3”,(4,5,6),[7,8]) 
m = 1, ‘2’, “3”, (4,5), [7,8] 
u = (obj,) 
j = () 
k = tuple(sequence) 
• h = tuple((1,’3’,”323”)) 
• H = tuple([1,2, 3, 4]) 
• H = tuple(‘abcdefg’)
@ 
TTuuppllee
@ 
TTuuppllee的操作
 取得索引位置物件 
 tuple切割 
 取得tuple大小 
 tuple相加 
 重複tuple ( t2*3 , [t2]*3 ) 
 tuple疊代 
 隸屬成員(in) 
 多個函式回傳值, 回傳的資料型態為Tuple
@ TTuuppllee的操作 –– 取得索引位置物件
@ TTuuppllee的操作 –– ttuuppllee切割
@ TTuuppllee的操作 –– 取得ttuuppllee大小
@ TTuuppllee的操作 –– ttuuppllee相加
@ TTuuppllee的操作 –– 重複ttuuppllee
@ TTuuppllee的操作 –– ttuuppllee疊代
@ TTuuppllee的操作 –– 隸屬成員
@ TTuuppllee的操作 –– 多個函式回傳值
@ 
FFiilleess的操作
 開啟檔案(唯讀/唯寫) 
 讀取整個檔案 
 讀取N個bytes 
 讀取下一行 
 將檔案中每行資料存成一個list 
 寫入字串到檔案 
 將每行的資料(list) 
 寫到檔案內 
 關閉檔案
@ 
FFiilleess的操作
@ 
FFiilleess的操作
@ 
FFiilleess的操作
@ 
FFiilleess的操作
@ 
FFiilleess的操作
@ 
FFiilleess的操作
@ 
注意要項
 只有 list , dictionary, 可 
以對內部的物件進行操作, file 
則要依據開啟的模式而定 
 
物件真值表 
"String" T R U E 
"" FA L SE 
[] FA L SE 
{} FA L SE 
1 T R U E 
0.0 FA L SE
@ 
Chapter 3 流程控制
@ 
iiff 判斷式
if statement: 
block…. 
block… 
elif statement: 
block… 
block… 
else: 
block
@ 
iiff 判斷式
@ 
wwhhiillee 判斷式
while statement: 
block… 
block… 
else: 
block… 
block…
@ 
wwhhiillee 判斷式 –– 疊代
@ 
wwhhiillee 判斷式 –– 判斷是否為質數
@ 
ffoorr 判斷式
for <target> in <sequence>: 
block… 
block… 
else: 
block… 
block…
@ 
ffoorr 判斷式 –– 疊代((rraannggee))
@ 
ffoorr 判斷式 –– 求得範圍NN內的質數
@ 
ffoorr 判斷式 –– lloooopp一個lliisstt物件
@ 
ffoorr 判斷式 –– lloooopp一個ddiicctt物件
@ 
ffoorr 判斷式 –– eennuummeerraattee的使用
@ 
ffoorr 判斷式 –– zziipp的使用
@ 
其他流程控制描述元
 break 
 continue 
 pass 
沒有C語言的goto描述元
@ 
Chapter 4 程式撰寫的一些特
性
@ 
多行表列程式碼
@ 
比較真//假時的準則
@ 
比較真//假時的準則
@ 
Chapter 5 函式
@ 
函式的類型
 具名函式 
 不具名函式
@ 
具名函式 –– 基本格式
def func_name(arg1, arg2, arg3….argN): 
statement 
. 
. 
[return obj,[obj]]
@ 
具名函式 –– 基本格式
@ 
具名函式 –– 基本格式
@ 
不具名函式 –– 基本格式
lambda arg1, arg2..... : expresion ...... 
using expression , but not statement
@ 
WWhhyy llaammbbddaa?? 
 簡單的運算 
 可能只用到一次
@ 
不具名函式 –– 基本格式
@ 
不具名函式 –– 基本格式
@ 
函式的傳入值
 func(arg1) 
 func(arg1 = value)
@ 
函式傳入值 -- 接受的類型
 一般值 
 指定參數名稱的預設值 
 不定參數 將不定參數的集合組成一個tuple物 
件 
 未知的參數名稱與其對應值  存成 dict物件
@ 
函式傳入值
@ 
函式傳入值
@ 
函式傳入值
@ 
函式傳入值
@ 
函式傳入值
@ 
LLGGBB RRuulleess 
Local  Global  Built-in
@ 
LLGGBB RRuulleess
@ 
LLGGBB RRuulleess
@ 
LLGGBB RRuulleess
@ 
LLGGBB RRuulleess
@ 
LLGGBB RRuulleess
@ 
函式的傳值//傳參考
 Python對於物件都是傳參考 
 list , dict物件可以傳值
@ 
函式的傳值//傳參考
@ 
函式的傳值//傳參考
@ 
函式的傳值//傳參考
@ 
函式的傳值//傳參考
@ 
函式的傳值//傳參考
@ 
函式的傳值//傳參考
@ 
函式的傳值//傳參考
@ 
函式的傳值//傳參考
@ 
函式回傳值 –– 非必要選項
 若無回傳值, 則自動回傳 None 
 回傳值可以是多回傳值 
 回傳lambda函式物件
@ 
函式回傳值 –– 無回傳值
@ 
函式回傳值 –– llaammbbddaa函式物件
@ 
函式回傳值 -- 多回傳值
@ 
函式回傳值 -- 多回傳值
@ 
aappppllyy bbuuiilltt-iinn ffuunnccttiioonn的應用
 執行某些函式, 事先不曉得他的參數 
 第一個參數為函式物件 
 第二個參數是一個由參數的集合組成的tuple物 
件
@ 
aappppllyy bbuuiilltt-iinn ffuunnccttiioonn的應用
@ 
aappppllyy bbuuiilltt-iinn ffuunnccttiioonn的應用
@ 
aappppllyy bbuuiilltt-iinn ffuunnccttiioonn的應用
@ 
aappppllyy bbuuiilltt-iinn ffuunnccttiioonn的應用
@ 
aappppllyy bbuuiilltt-iinn ffuunnccttiioonn的應用
@ 
函式也是物件
 如何間接呼叫函式 
 如何建立一個list存放對應的func與arg, 並且 
依序執行
@ 
間接呼叫函式 –– 物件參照
@ 
間接呼叫函式 –– 函式呼叫函式
@ 
一個含有ffuunncc與aarrgg的lliisstt的執行工
作
@ 
依據判斷式產生不同的函式內容
@ 
依據判斷式產生不同的函式內容
@ 
函式初始值 –– 導致的錯誤
@ 
函式初始值 –– 導致的錯誤 è 解決
方法
@ 
函式呼叫的順序
@ 
Chapter 6 模組
@ 
模組的搜尋路徑
系統環境變數  PYTHONPATH 
 透過sys.path
@ 
模組的搜尋路徑
@ 
基本模組 ---- 建立
 建立一個以模組名稱命名的.py檔案 
 新增屬性, 函式, 模組, 物件到此檔案中
@ 
基本模組 ---- 匯入
 import <module-name> 
 第一次匯入的同時會去執行該.py檔案 
 匯入之後, 該模組視為目前執行環境的物件 
 匯入後, 模組的所有變數, 函式, 物件的變數範 
圍相對 
於目前的環境  global
@ 
基本模組 ––存取變數、函式呼叫
 ModuleName.Var1 
 ModuleName.func1(arg1, arg2)
@ 
匯入模組 –– 基本格式
 import <module-name> 
 from <module-name> import <obj, obj…obj> 
 import <module-name> as <new-name> 
 from <module-name> import <obj> as <new-name> 
 from <module-name> import * 
_6_2 Python Module
@ 
匯入模組 –– iimmppoorrtt <<mmoodduullee-nnaammee>>
@ 
匯入模組 –– 
ffrroomm <<mmoodduullee-nnaammee>> iimmppoorrtt <<oobbjj,, oobbjj,, 
……oobbjj>>
@ 
匯入模組 –– 
iimmppoorrtt <<mmoodduullee-nnaammee>> aass 
<<nneeww-nnaammee>>
@ 
匯入模組 –– 
ffrroomm <<mmoodduullee-nnaammee>> iimmppoorrtt <<oobbjj>> aass <<nneeww-nnaammee>>
@ 
匯入模組 –– ffrroomm <<mmoodduullee-nnaammee>> iimmppoorrtt **
@ 
匯入模組 –– ffrroomm 
 複製一份到目前的命名空間 
 跟函式一樣, 傳參考 
 既然跟函式一樣, 那麼哪個物件是傳值而非傳參 
考
@ 
匯入模組 –– ffrroomm
@ 
匯入模組 –– 如果要解決傳值的問題
@ 
匯入模組 –– ffrroomm 實際上做了什麼
@ 
重複匯入相同的模組
@ 
匯入的模組與其他模組相關物件衝突
 最後匯入的模組(物件)會覆蓋前面匯入的模組 
(物件)
@ 
模組重新匯入 -- rreellooaadd 
 Python Built-in tool 
 時機: 模組被修改後必須重新讀取
@ 
模組重新匯入 –– 存在的問題
 http://www.mail-archive.com/kragen-hacks@ 
canonical.org/msg00010.html
@ 
副檔名為ppyy的執行檔
@ 
將..ppyy執行檔當作模組匯入
@ 
模組與執行檔共存
 模組匯入的特性 
 內建 __name__ 變數, 自動被指定為 
‘ __main__’
@ 
模組與執行檔共存
 模組匯入的特性 
 內建 __name__ 變數, 自動被指定為 
‘ __main__’
@ 
模組與執行檔共存
@ 
將..ppyy執行檔當作模組匯入
@ 
取得模組所有物件的方法
@ 
取得模組所有物件的方法
@ 
動態匯入模組的方法
 exec方法 
 built-in tool  __import__(‘module-name’)

More Related Content

What's hot

lambda/closure – JavaScript、Python、Scala 到 Java SE 7
lambda/closure – JavaScript、Python、Scala 到 Java SE 7lambda/closure – JavaScript、Python、Scala 到 Java SE 7
lambda/closure – JavaScript、Python、Scala 到 Java SE 7
Justin Lin
 
Java Thread
Java ThreadJava Thread
Java Thread
艾鍗科技
 
Heap exploitation
Heap exploitationHeap exploitation
Heap exploitation
Angel Boy
 
Js的国(转载)
Js的国(转载)Js的国(转载)
Js的国(转载)Leo Hui
 
改善程序设计技术的50个有效做法
改善程序设计技术的50个有效做法改善程序设计技术的50个有效做法
改善程序设计技术的50个有效做法crasysatan
 
所谓闭包
所谓闭包所谓闭包
所谓闭包youzitang
 
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
Justin Lin
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用
勇浩 赖
 
Node.js开发体验
Node.js开发体验Node.js开发体验
Node.js开发体验QLeelulu
 
程式人雜誌 -- 2015 年9月號
程式人雜誌 -- 2015 年9月號程式人雜誌 -- 2015 年9月號
程式人雜誌 -- 2015 年9月號
鍾誠 陳鍾誠
 
Return to dlresolve
Return to dlresolveReturn to dlresolve
Return to dlresolve
Angel Boy
 
少年科技人雜誌 2015 年八月
少年科技人雜誌 2015 年八月少年科技人雜誌 2015 年八月
少年科技人雜誌 2015 年八月
鍾誠 陳鍾誠
 
程式人雜誌 2015年五月
程式人雜誌 2015年五月程式人雜誌 2015年五月
程式人雜誌 2015年五月
鍾誠 陳鍾誠
 
型態與運算子
型態與運算子型態與運算子
型態與運算子
Justin Lin
 
从问题开始,谈前端架构
从问题开始,谈前端架构从问题开始,谈前端架构
从问题开始,谈前端架构
裕波 周
 
Python速成指南
Python速成指南Python速成指南
Python速成指南
March Liu
 
Scala function-and-closures
Scala function-and-closuresScala function-and-closures
Scala function-and-closureswang hongjiang
 
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式
勇浩 赖
 

What's hot (20)

lambda/closure – JavaScript、Python、Scala 到 Java SE 7
lambda/closure – JavaScript、Python、Scala 到 Java SE 7lambda/closure – JavaScript、Python、Scala 到 Java SE 7
lambda/closure – JavaScript、Python、Scala 到 Java SE 7
 
Java Thread
Java ThreadJava Thread
Java Thread
 
Heap exploitation
Heap exploitationHeap exploitation
Heap exploitation
 
Js的国(转载)
Js的国(转载)Js的国(转载)
Js的国(转载)
 
改善程序设计技术的50个有效做法
改善程序设计技术的50个有效做法改善程序设计技术的50个有效做法
改善程序设计技术的50个有效做法
 
所谓闭包
所谓闭包所谓闭包
所谓闭包
 
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用
 
Fp
FpFp
Fp
 
Sun java
Sun javaSun java
Sun java
 
Node.js开发体验
Node.js开发体验Node.js开发体验
Node.js开发体验
 
程式人雜誌 -- 2015 年9月號
程式人雜誌 -- 2015 年9月號程式人雜誌 -- 2015 年9月號
程式人雜誌 -- 2015 年9月號
 
Return to dlresolve
Return to dlresolveReturn to dlresolve
Return to dlresolve
 
少年科技人雜誌 2015 年八月
少年科技人雜誌 2015 年八月少年科技人雜誌 2015 年八月
少年科技人雜誌 2015 年八月
 
程式人雜誌 2015年五月
程式人雜誌 2015年五月程式人雜誌 2015年五月
程式人雜誌 2015年五月
 
型態與運算子
型態與運算子型態與運算子
型態與運算子
 
从问题开始,谈前端架构
从问题开始,谈前端架构从问题开始,谈前端架构
从问题开始,谈前端架构
 
Python速成指南
Python速成指南Python速成指南
Python速成指南
 
Scala function-and-closures
Scala function-and-closuresScala function-and-closures
Scala function-and-closures
 
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式
 

Similar to Programming python - part 1

ES5 introduction
ES5 introductionES5 introduction
ES5 introduction
otakustay
 
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
czzz1
 
深入理解Andorid重难点
深入理解Andorid重难点深入理解Andorid重难点
深入理解Andorid重难点Bin Shao
 
Python系列4
Python系列4Python系列4
Python系列4
數真 蔡
 
基于Lucene的站内搜索
基于Lucene的站内搜索基于Lucene的站内搜索
基于Lucene的站内搜索fulin tang
 
基于Lucene的站内搜索
基于Lucene的站内搜索基于Lucene的站内搜索
基于Lucene的站内搜索fulin tang
 
從模組到類別
從模組到類別從模組到類別
從模組到類別
Justin Lin
 
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
scott liao
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928Yen_CY
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术
bigqiang zou
 
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeLinux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Angel Boy
 
Hibernate教程
Hibernate教程Hibernate教程
Hibernate教程
Shilong Sang
 
Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解
zany_hui
 
Js doc toolkit
Js doc toolkitJs doc toolkit
Js doc toolkitjay li
 
Reactive application with akka.NET & .NET Core
Reactive application with akka.NET & .NET CoreReactive application with akka.NET & .NET Core
Reactive application with akka.NET & .NET Core
Chen-Tien Tsai
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
legend900805
 

Similar to Programming python - part 1 (20)

ES5 introduction
ES5 introductionES5 introduction
ES5 introduction
 
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
 
深入理解Andorid重难点
深入理解Andorid重难点深入理解Andorid重难点
深入理解Andorid重难点
 
Python系列4
Python系列4Python系列4
Python系列4
 
基于Lucene的站内搜索
基于Lucene的站内搜索基于Lucene的站内搜索
基于Lucene的站内搜索
 
基于Lucene的站内搜索
基于Lucene的站内搜索基于Lucene的站内搜索
基于Lucene的站内搜索
 
從模組到類別
從模組到類別從模組到類別
從模組到類別
 
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
DevOpsDays Taipei 2018 - Puppet 古早味、新感受:改造老牌企業進入自動化時代
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术
 
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeLinux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
 
Hibernate教程
Hibernate教程Hibernate教程
Hibernate教程
 
Javascript
JavascriptJavascript
Javascript
 
Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解
 
getPDF.aspx
getPDF.aspxgetPDF.aspx
getPDF.aspx
 
getPDF.aspx
getPDF.aspxgetPDF.aspx
getPDF.aspx
 
Js doc toolkit
Js doc toolkitJs doc toolkit
Js doc toolkit
 
Reactive application with akka.NET & .NET Core
Reactive application with akka.NET & .NET CoreReactive application with akka.NET & .NET Core
Reactive application with akka.NET & .NET Core
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
 

Programming python - part 1