面向对象-方法
Posted jbzd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象-方法相关的知识,希望对你有一定的参考价值。
方法
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方法的地址是一样的
以上是关于面向对象-方法的主要内容,如果未能解决你的问题,请参考以下文章