了解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 ...