码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象-方法

时间:2018-06-24 23:46:09      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:print   方法调用   icm   自带   必须   说明   init   python   自动   

方法

Python的方法有:普通方法、静态方法、类方法,这些方法在 内存中都归属于类,区别是调用方式不同
#普通方法:由实例调用,默认自带一个self参数,执行普通方法时,自动将该方法的对象赋值给self
#类方法:由类调用,必须写上 cls 作为参数,执行类方法时,自动将调用该方法的类赋值给cls
#静态方法:由类调用,无默认参数

例子:
  class Test:
    def __init__(self,name)
      self.name = name
    def a(self):
      print(‘我是一个普通方法‘)

    @classmethod
    def b(cls, name):
      print(‘我是一个类方法‘,name)
    @staticmethod
    def c(name):
      print(‘我是一个静态方法‘, name)

t = Test(‘tom‘)
t.a()

#类方法调用
Test.b(‘tom‘)

#静态方法调用
Test.c(‘tom‘)

说明:所有方法,均属于类而非对象中,所以在内存中也只保存一份,它们之间不同的是 调用方式和参数传入
例如:
class A:
def __init__(self,name):
self.name = name

def b(self):
print()
a = A(‘a‘)
a2 = A(‘a‘)
print(id(a.b),id(a2.b)) #两个实例的b方法的地址是一样的


面向对象-方法

标签:print   方法调用   icm   自带   必须   说明   init   python   自动   

原文地址:https://www.cnblogs.com/jbzd/p/9221966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!