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

python中delattr刪除對(duì)象方法的代碼分析

 更新時(shí)間:2020年12月15日 15:26:14   作者:小妮淺淺  
在本篇文章里小編給大家分享了一篇關(guān)于python中delattr刪除對(duì)象方法的代碼分析內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。

最近我們針對(duì)對(duì)象屬性這塊,介紹了不少關(guān)于測(cè)試屬性的方法。在進(jìn)行一系列測(cè)試后,我們發(fā)現(xiàn)這個(gè)屬性并不需要,這時(shí)候就要用到刪除的功能。在python中可以選擇delattr函數(shù)刪除對(duì)象的屬性,基于它的刪除功能,是否能擴(kuò)展到刪除的對(duì)象的方法上,在我們對(duì)delattr函數(shù)進(jìn)行全面了解后,展開(kāi)實(shí)例的測(cè)試。

1.說(shuō)明  

函數(shù)作用用來(lái)刪除指定對(duì)象的指定名稱(chēng)的屬性,和setattr函數(shù)作用相反。

不能刪除對(duì)象的方法。

2.參數(shù)

object -- 對(duì)象。

name -- 必須是對(duì)象的屬性。

3.返回值

無(wú)。

4.實(shí)例

>>> a.sayHello
<bound method A.sayHello of <__main__.A object at 0x03F014B0>>
>>> delattr(a,'sayHello') #不能用于刪除方法
Traceback (most recent call last):
 File "<pyshell#50>", line 1, in <module>
  delattr(a,'sayHello')
AttributeError: sayHello
>>>

通過(guò)測(cè)試的結(jié)果,我們可以看出delattr函數(shù)并不能刪除對(duì)象的方法,只針對(duì)于屬性有刪除的功能,不然就會(huì)報(bào)錯(cuò)。相信本篇的實(shí)戰(zhàn)代碼演示能讓大家對(duì)注意點(diǎn)有一個(gè)深刻的印象。

Python3基礎(chǔ) delattr 刪除對(duì)象的屬性

class MyClass:
  # num是類(lèi)屬性
  num = 1

  def __init__(self, name):
    self.name = name


def main():
  test = MyClass("shemingli")

  # 刪除類(lèi)屬性
  # 刪除類(lèi)屬性要寫(xiě)類(lèi)名,而不是實(shí)例名
  delattr(MyClass, "num")

  # 刪除實(shí)例屬性
  delattr(test, "name")

  """
    def delattr(o: Any, name: str)
    Inferred type: (o: Any, name: str) -> None

    Deletes the named attribute from the given object.
    delattr(x, 'y') is equivalent to ``del x.y''
  """
  # 注:如果屬性不存在,就拋出異常


if __name__ == '__main__':
  main()

到此這篇關(guān)于python中delattr刪除對(duì)象方法的代碼分析的文章就介紹到這了,更多相關(guān)python中delattr可以刪除對(duì)象方法嗎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論