day7----面向对象编程进阶
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day7----面向对象编程进阶相关的知识,希望对你有一定的参考价值。
本节内容:
- 面向对象高级语法部分
- 静态方法、类方法、属性方法
- 类的特殊方法
- 反射
- 异常处理
- Socket开发基础
静态方法
它与类唯一的关联就是需要通过类名来调用这个方法
#静态方法实际跟类没关系,不存在self变量了。
#只是名义上贵归类管理,实际上在静态方法里,访问不了类或实例中的任何属性
1. 调用时主动传递实例本身给eat方法,即d.eat(d)
2. 在eat方法中去掉self参数,但这也意味着,在eat中不能通过self.调用实例中的其它变量了
#!/usr/bin/env python #-*- coding:utf-8 -*- # Author:DCC class Dog(object): def __init__(self,name): self.name = name def eat(self,food): print("%s is eatting %s" % (self.name,food)) d = Dog("dog1") d.eat("包子") #静态方法 class Cat(object): def __init__(self,name): self.name = name @staticmethod #静态方法实际跟类没关系,不存在self变量了。 #只是名义上贵归类管理,实际上在静态方法里,访问不了类或实例中的任何属性 def eat(self,food): print("%s is eatting %s" % (self,food)) d = Cat("dog1") d.eat("cat1","baozi")
以上是关于day7----面向对象编程进阶的主要内容,如果未能解决你的问题,请参考以下文章