物件導向3

2021-10-01 22:18:23 字數 1838 閱讀 3580

了解new()方法

1. 作用: 開闢物件的記憶體空間,預設每次新建物件自動呼叫 __new__ 方法從而開闢物件空間

class 類名(object):

# 重寫__new__方法, 實現自己定義的建立物件的方式

def __new__(cls,*args,**kwargs):

return super().__new__(cls)

2. 呼叫時機

__new__ : 先被呼叫

__init__ : 後呼叫

了解模式:

什麼是單例模式: 乙個類有且只能建立乙個物件空間, 目的是為了節約記憶體資源

例如: **站(資料庫操作類), 只需要乙個物件就能完成所有的功能, 沒有必要建立多個物件浪費記憶體資源.

實現單例模式

class singleton(object):

__instance = none

__isinit = false # 是否初始化

defnew(cls,*args,**kwargs):

if cls.__instance is none:

# 建立物件空間

cls.__instance = super().new(cls)

# 無論如何都返回物件空間

return cls.__instance

definit(self,name):

if singleton.__isinit is false: # 沒有初始化

# 就進行初始化

self.name = name

# 改變條件

singleton.__isinit = true

概念: python中的錯誤 就是異常

異常是分型別的: 類 class, 異常由多個類組成

注意: 我們建議捕獲的都是 exception 或者 及其子型別的 錯誤

異常一旦丟擲, 終止**的繼續執行

注意: try中的**塊 如果出現異常也會終止執行

為了讓**即使丟擲異常仍然繼續向下繼續執行, 所以我們應該捕獲異常

異常:異常捕獲的完整語法

try:

#可能出現異常的**塊

except 異常類名 as e:

# 捕獲指定型別的錯誤

except (異常類名1,異常類名2) as e:

# 捕獲多種型別的錯誤

except exception as e:

# 捕獲所有的**型別的錯誤

else:

# 沒有異常執行這裡的**塊

finally:

# 無論如何都執行的**塊

模組和包:

手動丟擲異常

(1) raise exception(「錯誤提示資訊」)

(2) 在 except 中 使用 raise 將異常繼續向外拋

模組: 乙個py檔案就是乙個模組

包: 乙個資料夾, 標準需要在資料夾中建立乙個init.py 檔案, 這個資料夾就是乙個包

模組的使用

匯入模組:

import 模組名 as 別名

from 模組名 import 函式 as 別名, 類 as 別名

使用匯入的內容:

技巧: import 後面接什麼,就用什麼

模組中的測試**(執行**)的標準書寫位置:

ifname== 「main」:

# 執行**

物件導向3

前邊八篇部落格寫了從面向過程的方法來開發一款軟體的各種方法,和過程。包括了計畫,需求分析,設計,程式功能的實現,測試,維護還有介面設計的多項。但是,隨著技術的發展,隨著it業的發展,物件導向的技術,已經發展的越來越廣泛。這篇部落格,我就給大家概要介紹一下面向技術相關技術!首先看一下要總結知識的幾大項...

物件導向3

1 json的全稱就是個 object 物件 2 物件導向的封裝函式叫做工廠方式 方便建立多個物件導向 3 物件的引用 基本型別的引用 單純只是值的複製 物件型別的引用 位址的傳遞引用 只要在程式中賦值,必然要開闢新的位址。比較 基本型別只要值相同true 物件型別 值和引用都相同 var arr1...

物件導向3

抽象類 抽象類是對一類事物特徵行為的抽象,可以包含抽象方法。在python3中可以使用abc模組,該模組中有乙個元類abcmeta和修飾器 abstractmethod。抽象類不能被直接例項化 多重繼承 python支援多重繼承,即1個類可以繼承多個父類。語法為 class name parent ...