DevOps-Programming Basics with Python 17

OOP: Classes and Objects

ZONGRU Li
Jun 4, 2023

接著會介紹在Python程式中的Object-oriented programming概念

也就是Python的:

1.Objects

2.Classes

這邊講師舉例Linkedin,網站上有許多"User",針對"User"可能定義以下資料

然後在網站上會有一些個人資料的操作,像是:

這些操作被定義為Python的Func.來使用

也就是會定義User的各種attributes,以及Userbehavior

User可能有成千上萬,所以會定義一個藍圖(BluePrint)

裡面就有上述那些attributes,behavior

而這個BluePrint即是Class

實際實施這些Class的則是Object

對應上面例子,class內就會定義User有哪些information及有哪些action

Create a Class

接著建立一個user.py來建立UserClass:

初步撰寫出以下PythonConstructor:

圖裡面current拼錯,後面有改

上面特別要注意的是self還要特地傳入建構子內

透過上述Class建立的即是Object,寫法會是如下:

tom = User("tt@tt.com","Tom","pwd","Developer")

接著針對動作的部分:

Create a Object:

建立User的物件如下:

這邊簡單多作一個Func使用來取得User資訊:

然後嘗試將底下建立的User Object的資訊透過上述Function印出

執行後看到:

也可以嘗試多呼叫變更titleFunc.後再呼叫一遍印出User資訊的Func.

也可以建立另一個User物件:

這些邏輯會寫在其他py程式內

但是別的py檔案中如何使用User Class呢?

如同沿用其他py程式邏輯要import,這邊其實也是一樣

例如在main.py中使用變成:

也可以改成另一種寫法:

看起來比較clean

這時候執行main看到相同結果:

Create another Class and Objects:

建立一個post.py內容如下:

然後直接在main建立對應Object使用:

Object-oriented programming

即透過classesobjects如上方式撰寫程式

建立BluePrint(class)然後透過BluePrint建立Instance(Object)

Python is an object oriented programming language:

  • 幾乎Python的東西都是Object(像是string,integer,float,list,set,dictionary),執行像是print(type("a str"))看到都會是<class 'str'>
  • str(),int(),….are the constructor function, like str(50),int("10")

當前程式內容如下:

main.py:

user.py:

post.py:

參考課程reference

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet