iOS開發人員如何學習Python程式設計15-面向物件程式設計1

語言: CN / TW / HK

這是我參與11月更文挑戰的15天,活動詳情檢視:2021最後一次更文挑戰

面向物件程式設計(Object Oriented Programming),簡稱OOP,是一種程式設計思想。

面向過程與面向物件有什麼區別? - 面向過程:根據業務邏輯從上到下寫程式碼; - 面向物件:將資料與函式繫結到一起,進行封裝。減少重複程式碼的重寫過程。

類與物件介紹

是抽象的概念,僅僅是模板。用來描述具有相同屬性和方法的物件的集合。比如: - 公司就可以表示成一個類。 某一個具體事物的存在,在現實世界中可以是看得見摸得著的。 比如: - 阿里代表了公司的中具體的一員。這就是物件。

類與物件的關係

在開發中,我們可以進行物件歸類。

比如,分析班級同學公有特徵歸類:

``` option = { title: { text: '張三', subtext: '三年二班' }, tooltip: { trigger: 'item', formatter: "{a}
{b} : {c}%" }, toolbox: { feature: { dataView: {readOnly: false}, restore: {}, saveAsImage: {} } },

series: [
    {
        name:'漏斗圖',
        type:'funnel',
        left: '10%',
        top: 60,
        //x2: 80,
        bottom: 60,
        width: '80%',
        // height: {totalHeight} - y - y2,
        min: 0,
        max: 100,
        minSize: '0%',
        maxSize: '100%',
        sort: 'descending',
        gap: 2,
        label: {
            show: true,
            position: 'inside'
        },
        labelLine: {
            length: 10,
            lineStyle: {
                width: 1,
                type: 'solid'
            }
        },
        itemStyle: {
            borderColor: '#fff',
            borderWidth: 1
        },
        emphasis: {
            label: {
                fontSize: 20
            }
        },
        data: [
            {value: 60, name: '愛好'},
            {value: 40, name: '年級'},
            {value: 20, name: '年齡'},
            {value: 80, name: '性別'},
            {value: 100, name: '姓名'}
        ]
    }
]

}; ```

那麼,我們就可以將三年二班學生公有的特徵進行歸類。而建立一個學生類:

option = { title: { text: '三年二班' }, tooltip: {}, series: [ { type: 'graph', layout: 'none', symbolSize: 70, label: { show: true }, edgeSymbol: ['circle', 'arrow'], edgeSymbolSize: [4, 10], edgeLabel: { fontSize: 10 }, data: [{ name: '三年二班學生類', x: 300, y: 300 }, { name: '張四', x: 800, y: 300 }, { name: '李三', x: 500, y: 100 }, { name: '王二麻子', x: 550, y: 500 }], // links: [], links: [{ source: 0, target: 1 }, { source: 0, target: 2 }, { source: 0, target: 3 }], lineStyle: { opacity: 0.9, width: 2, curveness: 0.2 } } ] }

類的構成

類由3個部分構成:

  • 類的名稱:類名
  • 類的屬性:一組資料
  • 類的方法:允許對類進行操作的方法 ⚠️注意: 類名通常採用駝峰式命名方式,儘量讓字面意思體現出類的作用。 Python使用class關鍵字來定義類,其基本結構如下:

class 類名: pass Python中,可以根據已經定義的類去創建出一個個物件: 物件名 = 類名() 定義一個完整的類:

```

定義

class 類名: def 方法名(self,引數): # 類中函式:稱為方法 pass

執行

s = 類名() # 建立物件(例項) 整個過程就是例項化 s.方法名(引數) # 呼叫類中方法 ```

物件初始化

在類當中定義方法時,會發現系統幫我們自動建立了self引數,並且在呼叫物件的該方法時,也無需傳入self引數。那這個self是什麼?

實際上,我們需要明確self的兩個概念:

  • self本身是形參;
  • self就是物件本身。
  • __init__()稱為初始化方法,也可稱為構造方法。在建立物件時,會自動執行該方法,為物件的屬性設定初始值: 

``` class Student(object): def init(self,name,age):
self.name = name self.age = age

def info(self):
    print(self.name,self.age)

ls = Student("李四",18)
ls.info() ```

  1. __str__()列印輸出物件變數時,同時列印自定義的內容,將自定義內容通過return關鍵字返回: 

``` class Students: def init(self): self.name = "李四" self.age = 18

def __str__(self):
    return self.name

ls = Students() print(ls) # 李四 ``` ⚠️注意: 返回值必須是字串。