日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

类成员_月隐学python第17课

發布時間:2023/12/19 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类成员_月隐学python第17课 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.類成員

2 實例成員的動態綁定

3. 系統魔術?法

3.1 __init__ 和 __new__

3.2 算數運算符重載

3.3 迭代器

3.4 __call__

4.單例設計模式

4.1、設計模式概述

4.2 單例

4.3 實現

面向對象練習題


?


1.類成員

類成員包括:類屬性和類?法,不同于成員屬性和成員?法屬于對象,類屬性和類?法屬于類,可以不實例化對象,直接通過類名調?,這些類成員為所有對象共有,?般?于對象間通信。

  • 在程序運?期間類屬性始終存在
  • 類屬性

類?法和靜態?法

  • 類?法屬于類,為所有對象共有,可以通過類名或對象調?
  • 類?法可以?來訪問類屬性
  • 靜態?法屬于類的作?域內的全局函數
  • 類?法和靜態?法的區別,類?法第?個參數是類對象,由系統傳?,靜態?法沒有
  • 共同點:靜態?法和類?法都可以通過類名直接調?,屬于類,不屬于對象

2 實例成員的動態綁定

實例的屬性和?法都可以動態綁定,也就是可以在程序運?期間可以給程序增加功能,這對于那些靜態語?來說?異于天?夜譚,但對python來說?切皆有可能

  • 給對象動態添加的屬性只屬于這個對象,其它對象沒有該屬性
  • 使?__ slots__限制屬性的動態綁定:
    ?

3. 系統魔術?法

3.1 __init__ 和 __new__

  • __ new__ ?于創建?個對象,有返回值; __new__ 是類?法;__ init__ ?于初始化對象,沒有返回值
  • __new__ 默認參數是cls,系統傳遞的是類名, __init__ 默認參數是self,系統傳遞的是當前對象
  • __ new__ 先于__ init__ 執?

3.2 算數運算符重載

在python中?定義類的對象也可以象系統類型?樣完成+、 -、 *、 /、索引、切?等運算,這有賴于python類有運算符重載功能

3.3 迭代器

如果想讓?個類?于for-in 循環則必須實現__ iter__ 和__ next__ ?法

3.4 __call__

如果?個類實現了 __call__(slef, [,*args [,**kwargs]]) ?法,則該類的對象可以象函數?樣調?。它是實現類裝飾器的基礎

4.單例設計模式

4.1、設計模式概述

1. 概念:對特定問題的?種解決?案,和平臺、語??關
2. 作?

  • 更好的理解?向對象
  • 讓你的代碼更加優雅
  • 使你的代碼更加容易擴展和復?
  • ?試時候的重點

設計模式的?些基本原則

  • ?內聚,低耦合
  • 單?職責
  • 開閉原則(對修改封閉、對擴展開放)

4.2 單例

所謂單例也就是?個類只?成?個對象,?論你實例化多少對象,都是同?個對象
應?場景:數據庫操作類,?件操作類等,可以減少資源的占?


4.3 實現

使? __new__

面向對象練習題

1.?向對象的三大特征是:封裝、繼承、多態
2.代碼補齊:

3.代碼改錯,并說明原因

4.以下代碼輸出什么

5.代碼改正:

6.代碼補?

?

總結

以上是生活随笔為你收集整理的类成员_月隐学python第17课的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。