欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 靜態(tài)方法和類方法實(shí)例分析

 更新時間:2019年11月21日 10:23:13   作者:小飛俠v科比  
這篇文章主要介紹了Python 靜態(tài)方法和類方法,結(jié)合實(shí)例形式分析了Python類、實(shí)例、靜態(tài)方法等相關(guān)概念、原理與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python 靜態(tài)方法和類方法。分享給大家供大家參考,具體如下:

1. 類屬性、實(shí)例屬性

它們在定義和使用中有所區(qū)別,而最本質(zhì)的區(qū)別是內(nèi)存中保存的位置不同,

實(shí)例屬性屬于對象

類屬性屬于類

class Province(object):
  # 類屬性
  country = '中國'
  def __init__(self, name):
    # 實(shí)例屬性
    self.name = name
# 創(chuàng)建一個實(shí)例對象
obj = Province('山東省')
# 直接訪問實(shí)例屬性
print(obj.name)
# 直接訪問類屬性
Province.country

由上述代碼可以看出【實(shí)例屬性需要通過對象來訪問】【類屬性通過類訪問】,在使用上可以看出實(shí)例屬性和類屬性的歸屬是不同的。

其在內(nèi)容的存儲方式類似如下圖:

由上圖看出:

類屬性在內(nèi)存中只保存一份

實(shí)例屬性在每個對象中都要保存一份

應(yīng)用場景:

通過類創(chuàng)建實(shí)例對象時,如果每個對象需要具有相同名字的屬性,那么就使用類屬性,用一份既可

2. 實(shí)例方法、靜態(tài)方法和類方法

方法包括:實(shí)例方法、靜態(tài)方法和類方法,三種方法在內(nèi)存中都?xì)w屬于類,區(qū)別在于調(diào)用方式不同。

實(shí)例方法:由對象調(diào)用;至少一個self參數(shù);執(zhí)行實(shí)例方法時,自動將調(diào)用該方法的對象賦值給self;

類方法:由類調(diào)用; 至少一個cls參數(shù);執(zhí)行類方法時,自動將調(diào)用該方法的類賦值給cls;

靜態(tài)方法:由類調(diào)用;無默認(rèn)參數(shù);

class Foo(object):
  def __init__(self, name):
    self.name = name
  def ord_func(self):
    """ 定義實(shí)例方法,至少有一個self參數(shù) """
    # print(self.name)
    print('實(shí)例方法')
  @classmethod
  def class_func(cls):
    """ 定義類方法,至少有一個cls參數(shù) """
    print('類方法')
  @staticmethod
  def static_func():
    """ 定義靜態(tài)方法 ,無默認(rèn)參數(shù)"""
    print('靜態(tài)方法')
f = Foo("中國")
# 調(diào)用實(shí)例方法
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ù)不同。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python selenium 獲取標(biāo)簽的屬性值、內(nèi)容、狀態(tài)方法

    python selenium 獲取標(biāo)簽的屬性值、內(nèi)容、狀態(tài)方法

    今天小編就為大家分享一篇python selenium 獲取標(biāo)簽的屬性值、內(nèi)容、狀態(tài)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python 如何調(diào)用 dubbo 接口

    python 如何調(diào)用 dubbo 接口

    這篇文章主要介紹了python 如何調(diào)用 dubbo 接口,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • java中兩個byte數(shù)組實(shí)現(xiàn)合并的示例

    java中兩個byte數(shù)組實(shí)現(xiàn)合并的示例

    今天小編就為大家分享一篇java中兩個byte數(shù)組實(shí)現(xiàn)合并的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python正則表達(dá)式以及常用匹配實(shí)例

    Python正則表達(dá)式以及常用匹配實(shí)例

    在處理字符串時,經(jīng)常會遇到查找符合某些復(fù)雜規(guī)則字符串的需求,正則表達(dá)式就是用于描述這些規(guī)則的工具,下面這篇文章主要給大家介紹了關(guān)于Python正則表達(dá)式以及常用匹配的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • django進(jìn)階之cookie和session的使用示例

    django進(jìn)階之cookie和session的使用示例

    這篇文章主要介紹了django進(jìn)階之cookie和session的使用示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • python3 re返回形式總結(jié)

    python3 re返回形式總結(jié)

    在本篇文章里小編給大家整理了關(guān)于python3 re返回形式,對此有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-11-11
  • python如何生成密碼字典

    python如何生成密碼字典

    這篇文章主要介紹了python如何生成密碼字典,密碼字典主要是配合解密使用,下面利用python實(shí)現(xiàn)生成密碼字典,需要的小伙伴可以參考一下
    2022-03-03
  • 使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)做人臉識別的示例代碼

    使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)做人臉識別的示例代碼

    這篇文章主要介紹了使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)做人臉識別的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • python變量賦值機(jī)制踩坑記錄

    python變量賦值機(jī)制踩坑記錄

    這篇文章主要介紹了python變量賦值機(jī)制踩坑記錄,我們都知道python有深拷貝和淺拷貝,但變量賦值又是什么機(jī)制呢?這是個容易被忽略卻又極易踩坑的點(diǎn),下面我們來一探究竟,需要的朋友可以參考一下
    2022-02-02
  • Django學(xué)習(xí)之文件上傳與下載

    Django學(xué)習(xí)之文件上傳與下載

    這篇文章主要為大家詳細(xì)介紹了Django學(xué)習(xí)之文件上傳與下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10

最新評論