成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

classmethod&staticmethod 以及 __slots__

newsning / 900人閱讀

摘要:什么是中的它的用途是什么裝飾器對(duì)應(yīng)的函數(shù)不需要實(shí)例化,不需要參數(shù),但第一個(gè)參數(shù)需要是表示自身類的參數(shù),可以來(lái)調(diào)用類的屬性,類的方法,實(shí)例化對(duì)象等。

什么是python中的classmethod,它的用途是什么?

classmethod裝飾器對(duì)應(yīng)的函數(shù)不需要實(shí)例化,不需要 self 參數(shù),但第一個(gè)參數(shù)需要是表示自身類的 cls 參數(shù),可以來(lái)調(diào)用類的屬性,類的方法,實(shí)例化對(duì)象等。

class Demo:
    @classmethod
    def klassmeth(*args):
        return args
    """
    Usage::
    >>>Demo.klassmeth()
    >>> (, "span")
    """
        

klasssmeth 返回全部位置參數(shù)

不管怎么樣調(diào)用Demo.klassmenth,它的第一個(gè)參數(shù)始終是Demo類.

什么是python中的staticmethod,它的用途是什么?

staticmethod是一個(gè)將類中的方法靜態(tài)化,無(wú)需實(shí)例便可調(diào)用.

#!/usr/bin/python
# -*- coding: UTF-8 -*-

class C(object):
@staticmethod
def f():
    print("runoob");

C.f();          # 靜態(tài)方法無(wú)需實(shí)例化
cobj = C()
cobj.f()        # 也可以實(shí)例化后調(diào)用

__slots__用于什么地方?

首先我們要明白一個(gè)概念.默認(rèn)情況下Python在各個(gè)實(shí)例中名為__dict__的字典里存儲(chǔ)的實(shí)力屬性,為了是底層的散列表提升訪問(wèn)速度,字典會(huì)消耗大量?jī)?nèi)存.

通過(guò)__slots__類屬性,能節(jié)省大量?jī)?nèi)存.方法事讓解釋器在元組中存儲(chǔ)屬性,而不是字典.

繼承自超類__slots__屬性沒(méi)有效果,Python只會(huì)使用各個(gè)類中定義的__slots__屬性.

定義__slots__屬性之后,實(shí)例不能再有__slots__中所列名稱之外的其他屬性.

如果把__dict__這個(gè)名稱添加到__slots__中,是一個(gè)糟糕的選擇.

如果不把__weakref__加入__slots__,實(shí)例就不能作為弱引用的目標(biāo).

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42388.html

相關(guān)文章

  • Python學(xué)習(xí)之路28-符合Python風(fēng)格的對(duì)象

    摘要:本篇繼續(xù)學(xué)習(xí)之路,實(shí)現(xiàn)更多的特殊方法以讓自定義類的行為跟真正的對(duì)象一樣。之所以要讓向量不可變,是因?yàn)槲覀冊(cè)谟?jì)算向量的哈希值時(shí)需要用到和的哈希值,如果這兩個(gè)值可變,那向量的哈希值就能隨時(shí)變化,這將不是一個(gè)可散列的對(duì)象。 《流暢的Python》筆記。本篇是面向?qū)ο髴T用方法的第二篇。前一篇講的是內(nèi)置對(duì)象的結(jié)構(gòu)和行為,本篇?jiǎng)t是自定義對(duì)象。本篇繼續(xù)Python學(xué)習(xí)之路20,實(shí)現(xiàn)更多的特殊方法以讓...

    Eric 評(píng)論0 收藏0
  • 編寫(xiě)符合Python風(fēng)格的對(duì)象

    摘要:自定義向量類型從自定義向量類型入手寫(xiě)出符合風(fēng)格的對(duì)象,這離不開(kāi)特殊方法的支持。將對(duì)象定為不可變的通過(guò)使用兩個(gè)前導(dǎo)下劃線。程序員約定使用一個(gè)下劃線前綴編寫(xiě)受保護(hù)的屬性即,他們認(rèn)為應(yīng)該使用命名約定來(lái)避免意外覆蓋屬性。 導(dǎo)語(yǔ):本文章記錄了本人在學(xué)習(xí)Python基礎(chǔ)之面向?qū)ο笃闹攸c(diǎn)知識(shí)及個(gè)人心得,打算入門(mén)Python的朋友們可以來(lái)一起學(xué)習(xí)并交流。 本文重點(diǎn): 1、掌握編寫(xiě)Pythonic c...

    ethernet 評(píng)論0 收藏0
  • Python類方法與靜態(tài)方法之間的區(qū)別

      小編寫(xiě)這篇文章的主要目的,是講述一下關(guān)于Python的一些小技巧,包括類方法與靜態(tài)方法之間,存在一些什么區(qū)別呢?怎么從真正的意義上去理解關(guān)于其不同之間的區(qū)別呢?下面就給大家詳細(xì)的解答下?! ∏把浴 ≡趐ython的類中不僅可以有methods,還可以有變量,這些變量稱為類屬性,例如如下代碼中Book類的TYPES即為類屬性?! ☆愔械姆椒ǚ譃?類:  1.實(shí)例方法instance method...

    89542767 評(píng)論0 收藏0
  • 流暢的python讀書(shū)筆記-第九章-符合Python風(fēng)格的對(duì)象

    摘要:以便于用戶理解的方式返回對(duì)象的字符串表示形式。函數(shù)會(huì)調(diào)用函數(shù),對(duì)來(lái)說(shuō),輸出的是一個(gè)有序?qū)Α4送?,還有用于支持內(nèi)置的構(gòu)造函數(shù)的方法??缮⒘袑?shí)現(xiàn)了方法,使用推薦的異或運(yùn)算符計(jì)算實(shí)例屬性的散列值私有屬性最好用命名規(guī)則來(lái)實(shí)現(xiàn)這種方式有好有壞 絕對(duì)不要使用兩個(gè)前導(dǎo)下劃線,這是很煩人的自私行為。——Ian Bicking 對(duì)象表示形式 repr()  以便于開(kāi)發(fā)者理解的方式返回對(duì)象的字符串表示形式...

    fai1017 評(píng)論0 收藏0
  • 淺聊Python class中的@staticmethod以及@classmethod

    摘要:然而,作為學(xué)生代表的我,絕對(duì)不允許老師混入進(jìn)來(lái)充當(dāng)間諜。而且,該方法由所獨(dú)享,并不需要判斷是否為學(xué)生。由此,改進(jìn)為以下版本。得到如下測(cè)試代碼而對(duì)于教學(xué)分類的判斷,則有以下兩種情形。 前言 入學(xué)不久之后,我就在想,對(duì)于學(xué)校的這么多人,這么多教師,這么多學(xué)生,以及其他種種事物,能否對(duì)應(yīng)的做一套系統(tǒng)下來(lái)呢?隨之也跟著思考了起來(lái)。 設(shè)計(jì) 好了,最直觀的映入大腦的就是三個(gè)實(shí)體:人、教師、學(xué)生。這...

    baoxl 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<