Python之路-python(面向对象进阶)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路-python(面向对象进阶)相关的知识,希望对你有一定的参考价值。
一、面向对象高级语法部分
1、静态方法、类方法、属性方法
2、类的特殊方法
3、反射
二、异常处理
三、Socket开发基础
一、面向对象高级语法部分
静态方法(@staticmethod)
定义:只是名义上归类管理,实际上在在静态方法里面访问不了类或实例中的属性
1 class Dog(object): 2 def __init__(self,name): 3 self.name = name 4 5 @staticmethod 6 def eat(x,s): 7 print("%s is eating %s"%(x,s)) 8 Dog.eat("df","fdasf") 9 》》》df is eating fdasf
类方法(@classmethod)
定义:类方法只能访问类变量,不能访问实例变量
1 class Dog(object): 2 name = "444" 3 def __init__(self,name): 4 self.name = name 5 6 @classmethod 7 def eat(self): 8 print("%s is eating"%(self.name)) 9 10 d = Dog("zhangsan") 11 d.eat() 12 》》》444 is eating
属性方法(@property)
定义:把一个方法变成一个静态属性
1 class Dog(object): 2 def __init__(self,name): 3 self.name = name 4 5 @property 6 def eat(self): 7 print(" %s is eating" %self.name) 8 9 d = Dog("zhangsan") 10 d.eat() 11 》》》TypeError: ‘NoneType‘ object is not callable
1 正确的调用方法 2 class Dog(object): 3 def __init__(self,name): 4 self.name = name 5 6 @property 7 def eat(self): 8 print(" %s is eating" %self.name) 9 10 d = Dog("zhangsan") 11 d.eat#eat后面不加()
类的特殊成员和方法
1、__doc__,打印类的描述信息
1 class Dog(object): 2 ‘‘‘ 3 这里是描述信息 4 ‘‘‘ 5 def __init__(self,name): 6 self.name = name 7 8 def eat(self): 9 print(" %s is eating" %self.name) 10 11 print(Dog.__doc__) 12 >>>这里是描述信息
2、__module__ 和 __class__
以上是关于Python之路-python(面向对象进阶)的主要内容,如果未能解决你的问题,请参考以下文章