CORE | (Sr.) Software Development Engineer|香港商易安聯股份有限公司台灣分公司

新北市板橋區 3年以上 專科 其它軟體及網路相關業
我要應徵
學歷: 資訊工程相關、電機電子工程相關,專科、大學、碩士、博士
需加強技能-企業要求 點擊標籤,查看學習內容
PythonNode.js軟體程式設計網路程式設計英文
需加強技能-相關
e-ProSecurityOOPFrameworkUnit testingInternational BusinessAccessFPexposureWorkflow management程式開發CVComputer scienceStatistical Process ControlARCHITECTUREASP.NETPHPExpectData structuretranslateJavaRDBMSJavaScriptRailsCANAPI
符合度
?

履歷符合度:登入計算

適合度
?

性格適合度:登入計算

Python
Python是一種物件導向、直譯式電腦程式語言,也是一種功能強大而完善的通用型語言,已經具有十多年的發展歷史,成熟且穩定。這種語言具有非常簡捷而清晰的語法特點,適合完成各種高層任務,幾乎可以在所有的作業系統中執行。 雖然 Python 可能被粗略地分類為「指令碼語言」(script language),但實際上一些大規模軟體開發計劃例如 Zope、Mnet 及 BitTorrent,Google 也廣泛地使用它。 Python 的支援者較喜歡稱它為一種高階動態編程語言,原因是「指令碼語言」泛指僅作簡單編程任務的語言,如 shell script、JavaScript 等只能處理簡單任務的編程語言,並不能與 Python 相提並論。 此外,由於 Python 對於 C 和其他語言的良好支援,很多人還把 Python 作為一種「膠水語言」(glue language)使用。 使用 Python 將其他語言編寫的程式進行整合和封裝。 在 Google 內部的很多專案使用 C++ 編寫性能要求極高的部分,然後用Python呼叫相應的模組。
Hi~ 分享你的學習心得來幫助後輩或向前輩提問吧!
我要分享
我要提問

學習推薦

全部
影片
文章

不知如何開始嗎? 先進行技能挑戰吧~

技能挑戰:初級
目前等級:未達初級
2612 人已通過「初級」測驗,通過率83%,和求職精靈一起探索知識、增強能力!
我要挑戰

Learn Code With Mike品牌創辦人

10/25 23:27

Pandas Series處理單維度資料方法(下)
Q:如何修改Pandas Series資料?
要修改Pandas Series物件中的某一筆資料,可以利用資料索引值進行存取後,來修改其中的資料,如下範例:
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
phone[1] = "Oppo"
如果有自訂的資料索引值,同樣可以依據資料索引值來進行修改,如下範例:
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"], index=["p1", "p2", "p3", "p4"])
phone["p3"] = "Oppo"
Q:如何取得Pandas Series資料筆數?
通常在做資料分析時,都會需要知道載入的資料筆數,這時候可以透過Pandas Series物件的size屬性(Attribute)來取得,如下範例:
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
print(phone.size) # 執行結果4
Q: Pandas Series字串運算方法有哪些?
在文章開頭有提到,Pandas套件就像Excel一樣,能夠對儲存的資料進行處理及操作,最常見的就是字串運算,這邊就擷取幾個Pandas Series物件常用的字串運算方法(Method),包含:
1.upper():將字串轉為大寫
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
print(phone.str.upper()) # 將字串資料轉換為大寫
2.lower():將字串轉為小寫
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
print(phone.str.lower()) # 將字串資料轉換為小寫
3.contains():搜尋是否包含特定字串
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
print(phone.str.contains("Sa")) # 搜尋是否包含特定字串
4.replace():取代為指定的字串
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
print(phone.str.replace("Samsung", "Oppo")) # 將Samsung取代為Oppo
Q: Pandas Series數值運算有哪些方法?
另一個Pandas套件最常應用的地方,就是數值的運算,這邊列舉幾個Pandas Series物件常用的數值運算方法(Method),包含:
1.max():最大值
numbers = pd.Series([22, 5, 10, 12, 6, 30])
print(numbers.max()) # 執行結果30
2.min():最小值
numbers = pd.Series([22, 5, 10, 12, 6, 30])
print(numbers.min()) #執行結果5
3.sum():總和
numbers = pd.Series([22, 5, 10, 12, 6, 30])
print(numbers.sum()) #執行結果85
4.mean():平均數
numbers = pd.Series([22, 5, 10, 12, 6, 30])
print(numbers.mean()) # 執行結果14.166666666666666
5.nlargetst():最大的n個數值
numbers = pd.Series([22, 5, 10, 12, 6, 30])
print(numbers.nlargest(2)) # 最大的2個數值
6.nsmallest():最小的n個數值
numbers = pd.Series([22, 5, 10, 12, 6, 30])
print(numbers.nsmallest(2)) # 最小的2個數值
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/10/python-pandas-series-tutorial.html )網站觀看更多精彩內容。
  • PYTHON資料分析
  • Data Analysis
  • Python
拍手 0 留言 0 觀看 0 收藏 0

Learn Code With Mike品牌創辦人

10/25 22:59

Pandas Series處理單維度資料方法(上)
Q:什麼是Pandas Series?
在隨手可得的數據時代,資料分析逐漸成為顯學,利用視覺化軟體或是分析處理工具,將蒐集的資料轉變為有用的資訊,來協助使用者進行決策。
Pandas套件則是其中一種常用的資料分析處理工具,它是基於Python程式語言來建立的,非常容易使用且強大,主要應用於單維度(Series)與二維度(DataFrame)的資料處理。
大家可以把Pandas套件想像成是Excel一樣,能夠將儲存的資料進行統計、搜尋或修改等操作,主要有兩種資料結構,分別是Series及DataFrame,本文就先帶大家來認識Series的基本觀念。
Pandas Series適用於處理單維度或單一欄位的資料,就像是Excel中的某一欄,左側為資料索引,右側為資料內容,不過Pandas Series自動產生的資料索引是從0開始計算,另外也有提供方法(Method),讓使用者可以自行定義。
Q:如何建立Pandas Series物件?
想要利Pandas Series來儲存單維度的資料,就需要先建立Pandas Series物件,語法如下:
my_series = pandas.Series(資料串列)
範例:
import pandas as pd
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
如果想要自訂資料索引,可以利用index關鍵字參數(Keyword Argument)來進行設定,如下範例:
import pandas as pd
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"], index=["p1", "p2", "p3", "p4"])
Q:如何取得Pandas Series資料?
可以利用資料順序或資料索引值來取得Pandas Series物件中的特定資料,如下範例:
import pandas as pd
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"], index=["p1", "p2", "p3", "p4"])
print(phone[1]) # 依據資料順序取值(從0開始計算)
print(phone["p3"]) # 依據資料索引值取值
Q:新增Pandas Series資料方法?
想要在既有的Pandas Series物件中新增資料,可以利用append()方法(Method)來達成,這邊要特別注意的是,append()方法(Method)需傳入Pandas Series物件,並且會額外產生一個新的Pandas Series物件,如下範例:
import pandas as pd
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
data = pd.Series(["Htc", "Oppo"]) # 新增的資料
combined = phone.append(data)
print(combined)
由於Pandas Series物件都會自動產生資料索引,所以從上面的執行結果可以看到,將兩個Pandas Series物件合併後,會發現資料索引沒有連續的問題,這時候可以在append()方法(Method)中加上「ignore_index = True」設定,來忽略資料索引,如下範例:
import pandas as pd
phone = pd.Series(["Apple", "Samsung", "Mi", "Sony"])
data = pd.Series(["Htc", "Oppo"]) # 新增的資料
combined = phone.append(data, ignore_index=True)
print(combined)
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/10/python-pandas-series-tutorial.html )網站觀看更多精彩內容。
  • Data Analysis
  • PYTHON資料分析
  • Python
拍手 0 留言 0 觀看 0 收藏 0

Learn Code With Mike品牌創辦人

10/25 22:47

Python Lambda Function應用技巧分享
Q: Python Lambda語法如何使用?
由於Lambda函式只有一行程式碼,所以在撰寫時有一些限制,我們來看一下它的語法:
lambda parameter_list: expression
這邊教大家一個技巧,在撰寫Lambda函式時,於Visual Studio Code輸入 lambda 關鍵字,接著按下 Tab 鍵,就會自動產生範例中的語法,包含了三個部分:
1.lambda關鍵字
2.parameter_list(參數清單)
3.expression(運算式)
其中,parameter_list(參數清單)也就是Lambda函式的傳入參數,可以有多個,以逗號分隔。而expression(運算式)則是針對傳入參數來進行運算,只能有一行運算式,不像一般函式(Function)可以有多行。接下來,我們透過幾個範例來了解如何使用Lambda函式吧。
範例1:
multiply = lambda x, y: x * y
print(multiply(4,2)) #執行結果8
範例2:
print((lambda x, y: x * y)(4, 2)) #執行結果8
Lambda函式支援IIFE語法,意思是利用 function expression 的方式來建立函式,並且立即執行它。
Q: Python Lambda函式的有哪些應用?
1. filter():在可疊代的物件中,依據條件運算式,選擇特定的元素,語法為:
filter(lambda parameter: expression, iterable)
範例:
numbers = [50,2,12,30,27,4]
result = filter(lambda x: x > 10, numbers)
print(list(result)) #執行結果[50,12,30,27]
2. map():在可疊代的物件中,套用特定運算式於每一個元素,語法為:
map(lambda parameter: expression, iterable)
範例:
numbers = [50,2,12,30,27,4]
result = map(lambda x: x * 2, numbers)
print(list(result)) #執行結果[100,4,24,60,54,8]
3. reduce():與map()內建方法同樣在可疊代的物件中,套用特定運算式於每一個元素,但是內部的實作方式不一樣,它的實作步驟為:
將可疊代物件中的前兩個元素先進行Lambda運算式的運算。
接著將第一個步驟的運算結果和可疊代物件中的下一個元素(第三個)傳入Lambda函式進行運算。
依此類推,直到可疊代物件的元素都運算完成。
也因為每一次的運算都是兩個元素傳入,所以語法為:
reduce(lambda parameter1, parameter2: expression, iterable)
範例:
from functools import reduce
numbers = [50,2,12,30,27,4]
result = reduce(lambda x, y: x + y, numbers)
print(result) #執行結果125
4. sorted():用來排序可疊代物件中的元素,語法為:
sorted(iterable, key=lambda parameter: expression)
範例:
cars = [
("mazda", 2000),
("toyota", 1000),
("benz", 5000),
]
print(sorted(cars, key=lambda car: car[1]))
#執行結果[('toyota', 1000),('mazda', 2000),('benz', 3000),]
Q: Lambda函式和一般函式(Function)有什麼不同?
這邊來比較一下Lambda函式與一般函式(Function)的差異為:
1.Lambda函式不需要定義名稱,而一般函式(Function)需定義名稱。
2.Lambda函式只能有一行運算式,而一般函式(Function)可以有多行運算式。
3.Lambda在每一次運算完會自動回傳結果,而一般函式(Function)如果要回傳結果要加上 return 關鍵字。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2019/12/python-lambda-functions.html )網站觀看更多精彩內容。
  • Python
拍手 0 留言 0 觀看 0 收藏 0

Learn Code With Mike品牌創辦人

10/23 12:43

Python Comprehension語法應用教學(下)
本文將延續「Python Comprehension語法應用教學(上)」,接續分享Python Comprehension語法的應用。
Q: Set & Dictionary Comprehension如何使用?
集合(Set)Comprehension的用法和串列(List)Comprehension幾乎一樣,不同的地方是集合(Set)使用 {} 符號,並且其中的元素不會重覆,如下範例:
titles = "Learn Code With Mike"
result = {letter for letter in titles if letter == "e"}
print(result) # 執行結果:{'e'}
從範例中可以看到 titles 中符合條件的 e 字母有3個,但是集合(Set)只會顯示1個。
另外,字典(Dictionary)Comprehension和集合(Set)Comprehension同樣使用 {} 符號,不同的是字典(Dictionary)的每個元素由鍵(Key)與值(Value)構成,如下範例:
titles = "Python"
result = {index: letter for index, letter in enumerate(titles)}
print(result) #執行結果{0: 'P', 1: 'y', 2: 't', 3: 'h', 4: 'o', 5: 'n'}
範例中利用enumerate()函式回傳可疊代的物件(Iterable Object)元組(Tuple),再透過Unpacking的方式取得鍵(index)與值(letter) 。
Q:Generator Expression如何使用?
各位一定會想說,那有元組(Tuple)Comprehension嗎?我們依照上面的原則來撰寫如下範例:
result = (number * 2 for number in range(10))
print(result) #執行結果<generator object <genexpr> at 0x006A2CD8>
從執行結果可以看到,我們得到了一個Generator物件(Object),這是什麼呢?
Generator物件(Object)具有延遲的特性,也就是說它不會把所有資料都儲存在記憶體中,而是透過迴圈進行讀取時,來產生值。所以Generator物件(Object)適用於處理非常龐大的資料集,甚至無限個資料的情況。如果透過串列(List)或元組(Tuple)等其它物件來處理時,會將所有資料都儲存在記憶體中,這時候就可以想像將會耗盡記憶體資源。
假設我們將上面範例中的 range(10) 調整為 range(20000),來模擬要處理的資料集非常龐大,接著引用sys模組中的getsizeof()函式(Function),來取得串列(List)及Generator物件(Oject)各佔用了多少記憶體空間,如下範例:
from sys import getsizeof
list_result = [number * 2 for number in range(20000)]
print("List: ", getsizeof(list_result)) #執行結果List: 89008
generator_result = (number * 2 for number in range(20000))
print("Generator: ", getsizeof(generator_result)) #執行結果Generator: 56
可以看到串列(List)占用了89008Bytes,而Generator物件(Object)只佔用了56Bytes,省下了不少記憶體空間。但是也需要特別注意,由於Generator物件(Object)不像其它物件如串列(List)等,把所有資料都儲存在記憶體中,所以是無法得知Generator物件(Object)的資料個數。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/01/python-comprehension.html )網站觀看更多精彩內容。
  • Python
拍手 0 留言 0 觀看 1 收藏 0

Learn Code With Mike品牌創辦人

10/22 22:25

Python Comprehension語法應用教學(上)
Q:Python List Comprehension如何使用?
串列(List)Comprehension的語法包含三個部分,說明如下:
[expression for item in iterable]
1.expression:可以是 item 或運算式。
2.item:接收可疊代的物件(Iterable Object)元素。
3.iterable:可疊代的物件(Iterable Object)。
通常要建立一個串列(List),可以透過for迴圈的方式,如下範例:
numbers = []
for x in range(10):
numbers.append(x * 3)
如果透過串列(List)Comprehension來進行改寫的話,只需要一行即可達到相同的執行結果,如下範例:
numbers = [x * 3 for x in range(10)]
x * 3 就是串列(List)Comprehension中的運算式(expression),而 x 是接收可疊代的物件(Iterable Object)變數,最後就是可疊代的物件(Iterable Object) range(10) 。透過for迴圈的方式讀取元素值,並且乘以3來建立串列(List),語法是不是非常簡潔~
假設要在串列(List)Comprehension中利用條件判斷來篩選元素時,則可以使用下列語法:
[expression for item in iterable (if condition)]
延伸上面的範例,當 x 大於4的時候,我們才乘以3的動作,串列(List)Comprehension的寫法如下範例:
numbers = [x * 3 for x in range(10) if x > 4]
另外,串列(List)元素的運算及篩選可以利用Python的內建函式map()和filter()等,其中除了能夠透過Lambda函式來達成,串列(List)Comprehension語法同樣也可以實作。
Q:Python map()函式使用List Comprehension如何改寫?
map()函式可以將特定運算式套用至可疊代的物件(Iterable Object)元素,如下範例:
numbers = [50, 2, 12, 30, 27, 4]
result = list(map(lambda x: x * 2, numbers))
print(result) #執行結果:[100, 4, 24, 60, 54, 8]
map()函式利用Lambda函式來進行元素的運算,最後透過list()函式來轉型成串列(List)。而串列(List)Comprehension可以改寫成:
numbers = [50, 2, 12, 30, 27, 4]
result = [number * 2 for number in numbers]
print(result) #執行結果:[100, 4, 24, 60, 54, 8]
Q:Python filter()函式使用List Comprehension如何改寫?
filter()函式可以幫我們篩選可疊代的物件(Iterable Object)元素,如下範例:
numbers = [50, 2, 12, 30, 27, 4]
result = list(filter(lambda x: x > 10, numbers))
print(result) #執行結果:[50, 12, 30, 27]
在串列(List)Comprehension中則可以改寫為:
numbers = [50, 2, 12, 30, 27, 4]
result = [number for number in numbers if number > 10]
print(result) # 執行結果:[50, 12, 30, 27]
如果要依據條件來"改變"串列(List)中的值時,則要把條件判斷移至前方,如下範例:
numbers = [50, 2, 12, 30, 27, 4]
result = [number if number > 10 else 0 for number in numbers]
print(result) # 執行結果:[50, 0, 12, 30, 27, 0]
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/01/python-comprehension.html )網站觀看更多精彩內容。
  • Python
拍手 0 留言 0 觀看 1 收藏 0

Learn Code With Mike品牌創辦人

10/22 22:01

Python封裝(Encapsulation)實用教學
Q:什麼是Python封裝(Encapsulation)
封裝(Encapsulation)的概念就有點像權限控制,有些屬性(Attribute)或方法(Method)只想於類別內部使用,而不想公開於外部,除了減少程式碼因來源端不適當的使用發生問題外,也可保護其中重要的商業邏輯。
一般情況下,來源端皆可存取類別中公開的屬性(Attribute)及方法(Method),如下範例:
# 部落格類別
class Blog:
def __init__(self):
self.author = "Mike" # 作者屬性
self.titles = [] # 文章標題屬性
def add_post(self, title): # 新增文章
self.titles.append(title)
blog = Blog()
blog.add_post("Python Programming")
blog.add_post("Learn How to Code")
print("Author: ", blog.author)
print("Blog Titles: ", blog.titles)
如果我們要防止來源端存取作者屬性(Attribute)及呼叫新增文章標題方法(Method),則需透過封裝(Encapsulation)的概念來進行設計。接下來就分別說明如何封裝(Encapsulation)類別中的屬性(Attribute)及方法(Method)。
Q:什麼是私有屬性(Private Attribute)?
在類別(Class)中可以進行存取,而外部無法存取的屬性(Attribute)。使用方式就是在私有屬性(Private Attribute)前加上兩個底線(__),如下範例:
# 部落格類別
class Blog:
def __init__(self):
self.__author = "Mike" # 作者屬性
self.__titles = [] # 文章標題屬性
def __add_post(self, title): # 新增文章
self.__titles.append(title)
blog = Blog()
print(blog.__author)
從範例中可以看到,來源端無法存取到類別中的author及titles私有屬性(Private Attribute)。如果是利用Visual Studio Code來開發Python的話,在來源端物件的IntelliSense清單中就選不到私有屬性(Private Attribute),證明成功將其進行封裝(Encapsulation)。
但是Python不像其他物件導向程式語言真的把屬性(Attribute)或方法(Method)變為私有,事實上來源端還是可以存取得到。Python事實上把加了兩個底線的私有屬性(Private Attribute)重新命名,在前面加上了底線類別名稱,來源端只要透過此名稱還是可以進行存取,如下範例:
blog = Blog()
print(blog._Blog__author) #執行結果為:Mike
所以在類別中的屬性(Attribute)或方法(Method)加上兩個底線(__)主要是告訴來源端此屬性(Attribute)或方法(Method)為私有,避免來源端直接或意外的存取。
Q:什麼是私有方法(Private Method)?
在類別(Class)中可以進行存取,而外部無法存取的方法(Method)。和私有屬性(Private Attribute)作法相同,在私有方法(Private Method)前面加上兩個底線(__),如下範例:
# 部落格類別
class Blog:
def __init__(self):
self.__author = "Mike" # 作者屬性
self.__titles = [] # 文章標題屬性
def __add_post(self, title): # 新增文章
self.__titles.append(title)
blog = Blog()
blog.__add_post("Python tutorials")
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/01/python-encapsulation.html )網站觀看更多精彩內容。
  • OOP
  • Python
  • 物件導向程式設計
拍手 0 留言 0 觀看 1 收藏 0

104求職精靈x聯成

聯成

10/07 00:00

  • Photoshop
  • HTML5
  • CSS
  • jQuery
  • AutoCAD
  • 3ds Max
  • Python
  • scikit-learn
  • OpenCV
  • Creo Parametric
  • Illustrator
  • After Effects
  • Premiere
  • Cinema 4D
  • C#
  • Unity3D
  • RHCE
  • Red Hat Certified Engineer
  • CCNA
  • OpenStack
觀看 82 收藏 0

104求職精靈x電腦技能基金會

電腦技能基金會 精選線上課程

02/01 00:00

  • 程式語言 (C/Python)
  • Python
  • 程式語言
  • Python程式設計
觀看 341 收藏 2

104求職精靈xHahow好學校

Hahow好學校 精選線上課程

09/29 11:56

  • SQL
  • Machine Learning
  • 人工智慧
  • 資料庫
  • Python
觀看 435 收藏 23

104求職精靈xCupoy

01/29 15:40

  • Python
  • Google Analytics
  • Weka
  • Flink
  • Firebase
  • 深度學習
  • Machine Learning
  • NLP
  • 演算法開發
  • R
觀看 134 收藏 12

104求職精靈x商業發展研究院

商業發展研究院 精選線上課程

08/13 00:00

  • Python
  • 演算法
  • 資料科學
觀看 61 收藏 7

Learn Code With Mike品牌創辦人

10/21 21:50

Python繼承(Inheritance)實用教學
Q:如何使用Python繼承?
將共同的屬性(Attribute)或方法(Method)定義在一個類別(Class)中,而其它類別(Class)則透過繼承(Inheritance)的方式來擁有它,如下範例:
class Transportation: # 交通工具
def __init__(self):
self.color = "white"
def drive(self): # 駕駛方法
print("drive method is called.")
class Car(Transportation):
def accelerate(self): # 加速方法
print("accelerate is method called.")
class Airplane(Transportation):
def fly(self): # 飛行方法
print("fly method is called.")
Transportation類別(Class)就叫父類別或基底類別(Base Class),而Car及Airplane類別(Class)就稱為子類別(Sub Class),在類別名稱的地方透過括號的方式來繼承(Inheritance),藉此擁有父類別公開的屬性(Attribute)及方法(Method),如下範例:
mazda = Car()
mazda.drive()
print(mazda.color)
Q:什麼是方法覆寫?
當子類別中定義了和父類別同名的方法(Method),這時候子類別的物件(Object)呼叫這個同名方法時,其中的實作內容將會覆蓋掉父類別的同名方法,這就叫做方法覆寫(Method Overriding),如下範例:
class Transportation: # 交通工具
def drive(self): # 駕駛方法
print("Base class drive method is called.")
class Car(Transportation):
def drive(self):
print("Sub class drive method is called.")
mazda = Car()
mazda.drive()
這時候如果我們想在子類別中執行父類別的方法(Method)時,則可以使用super()內建方法來達成,如下範例:
class Transportation: # 交通工具
def drive(self): # 駕駛方法
print("Base class drive method is called.")
class Car(Transportation):
def drive(self):
super().drive()
print("Sub class drive method is called.")
mazda = Car()
mazda.drive()
Q:什麼是多層繼承?
就是繼承(Inheritance)的層級超過一層以上,如下範例:
class Animal: # 動物類別
pass
class Bird(Animal):
def fly(self):
print("fly")
class Duck(Bird):
pass
duck = Duck()
duck.fly()
Q:什麼是多重繼承?
就是子類別繼承(Inheritance)一個以上的父類別,並且各類別應各司其職,避免有相同的方法,如下範例:
class Animal: # 動物類別
def eat(self):
print("Animal eat method is called.")
class Bird:
def walk(self):
print("Bird walk method is called.")
class Duck(Animal, Bird):
pass
duck = Duck()
duck.eat()
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/01/python-inheritance.html )網站觀看更多精彩內容。
  • Python
  • OOP
  • 物件導向程式設計
拍手 2 留言 0 觀看 2 收藏 0
工作機會

python工程師

迪倫蓮恩市場研究顧問有限公司

台北市信義區 經歷不拘 大學

時薪 300~400元

Python Web Developer

StreetVoice _街聲股份有限公司

台北市松山區 1年以上 大學

月薪 40,000~60,000元
我要應徵