首页 > 代码库 > Python 面向对象
Python 面向对象
静态方法
只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性
通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它与类唯一的关联就是需要通过类名来调用这个方法
class Dog(object): def __init__(self,name): self.name = name @staticmethod #实际上跟类没什么关系了 def eat(self): print("%s is eating %s" %(self.name,"bb"))d = Dog("aa")d.eat(d)
类方法
类方法通过@classmethod装饰器实现,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量
class Dog(object): n = 333 def __init__(self,name): self.name = name #@staticmethod #实际上跟类没什么关系了 @classmethod def eat(self): print("%s is eating %s" %(self.n,"bb")) def talk(self): print("%s is talking" %self.name)d = Dog("aa")d.eat()
Python 面向对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。