xiaoa~ 2018-02-20 01:18 采纳率: 100%
浏览 1222
已采纳

python的方法存贮在类中还是对象中?

图片说明

图片说明
请问各位大侠,类中的方法在内存中的存储是在类中还是对象中?

  • 写回答

5条回答 默认 最新

  • Boover 2018-02-28 06:22
    关注
     In [263]: class Sample(object):
         ...:     def ordinary(self):
         ...:         print "I'm a ordinary method"
         ...:     @classmethod
         ...:     def clsmethod(cls):
         ...:         print "I'm a class method"
         ...:     @staticmethod
         ...:     def stcmethod():
         ...:         print "I'm a static method"
         ...:         
    
    In [264]: a = Sample()
    
    In [265]: b = Sample()
    
    In [266]: a.ordinary == Sample.ordinary # 普通方法,各自存储
    Out[266]: False
    
    In [267]: a.ordinary == b.ordinary
    Out[267]: False
    
    In [268]: a.clsmethod == Sample.clsmethod # 类方法存储在类中
    Out[268]: True
    
    In [269]: a.stcmethod == Sample.stcmethod # 静态方法存储在类中
    Out[269]: True
    
    In [270]: a.ordinary.im\_func == Sample.ordinary.im\_func
    Out[270]: True
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?