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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python 面向对象(类)--学习笔记

發(fā)布時(shí)間:2025/3/15 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 面向对象(类)--学习笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

面向?qū)ο笫且环N編程方式, 主要集中在類和對象的兩個(gè)概念

  • python 中的類符合封裝, 繼承, 多態(tài)的特征
  • 類 是一個(gè)模板, 是n多函數(shù)的集成
  • 對象 是類的實(shí)例化

類的成員分為三大類:字段、方法、屬性

  

字段

字段包括靜態(tài)字段和普通字段,靜態(tài)字段只在內(nèi)存中保存一份, 普通字段在每個(gè)對象中都要保存一份(值可不同)

  • 普通字段屬于對象, 實(shí)例化對象時(shí)普通字段存在于對象的內(nèi)存中
  • 靜態(tài)字段屬于類, 實(shí)例化對象之后不存在與對象的內(nèi)存中

應(yīng)用場景:如果類的多個(gè)對象需要使用相同的屬性值則應(yīng)定義為靜態(tài)字段。

class Animal:#靜態(tài)字段name = '大象‘def __init__(self, name)#普通字段self.name = name # 訪問普通字段 obj = Animal('小猴子‘).name#訪問靜態(tài)字段 Animal.name View Code

?

方法

方法: 普通方法, 靜態(tài)方法, 類方法。三種方法在內(nèi)存中都?xì)w屬于類, 區(qū)別在于調(diào)用方式不同

  • 普通方法:由對象調(diào)用;至少一個(gè)self參數(shù);執(zhí)行普通方法時(shí)將自動調(diào)用該方法的對象賦值給self
    •   調(diào)用過程? 實(shí)例化對象-->對象調(diào)用類中的普通方法-->執(zhí)行普通方法時(shí),自動調(diào)用該方法的對象賦值給self(self獲取對象的普通字段屬性)-->執(zhí)行方法內(nèi)部邏輯
  • 類方法:由類調(diào)用;至少一個(gè)cls參數(shù);執(zhí)行類方法時(shí), 自動調(diào)用該方法的類賦值給cls
  • 靜態(tài)方法:靜態(tài)方法由類調(diào)用;無默認(rèn)參數(shù)
class Foo:def __init__(self, name):self.name = namedef ord_func(self):""" 定義普通方法,至少有一個(gè)self參數(shù) """# print self.nameprint '普通方法'@classmethoddef class_func(cls):""" 定義類方法,至少有一個(gè)cls參數(shù) """print '類方法'@staticmethoddef static_func():""" 定義靜態(tài)方法 ,無默認(rèn)參數(shù)"""print '靜態(tài)方法'# 調(diào)用普通方法 f = Foo() f.ord_func()# 調(diào)用類方法 Foo.class_func()# 調(diào)用靜態(tài)方法 Foo.static_func()

?

三種方法相同點(diǎn):所有方法均屬于類中(非對象),所以在內(nèi)存中值保存一份

    不同點(diǎn):方法調(diào)用者不同、調(diào)用方法時(shí)自動傳入的參數(shù)不同。

?

屬性

屬性其實(shí)是普通方法的變種

  • 定義時(shí), 在普通方法的基礎(chǔ)上添加@property裝飾器
  • 定義時(shí),屬性僅有一個(gè)self參數(shù)(新式類可以有多個(gè))
  • 調(diào)用時(shí), 無需括號

      方法:foo_obj.func()

      屬性:foo_obj.prop

訪問屬性可以制造出和訪問字段相同的假象, 屬性由方法變種而來;屬性的功能是在屬性內(nèi)部進(jìn)行一系列邏輯運(yùn)算,最終返回結(jié)果。

屬性由兩種定義方式:裝飾器、靜態(tài)字段(在類中定義值為property對象的靜態(tài)字段)

?

本文作為學(xué)習(xí)筆記進(jìn)行記錄,學(xué)習(xí)大牛blog, 為大牛點(diǎn)贊, 更為詳盡內(nèi)容請移步一下鏈接

http://www.cnblogs.com/wupeiqi/p/4766801.html

?

轉(zhuǎn)載于:https://www.cnblogs.com/brownz/p/8671726.html

總結(jié)

以上是生活随笔為你收集整理的python 面向对象(类)--学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。