首页 > 代码库 > Python之路-python(面向对象进阶)

Python之路-python(面向对象进阶)

一、面向对象高级语法部分

  1、静态方法、类方法、属性方法

  2、类的特殊方法

  3、反射

二、异常处理

三、Socket开发基础

 

一、面向对象高级语法部分

  静态方法(@staticmethod

  定义:只是名义上归类管理,实际上在在静态方法里面访问不了类或实例中的属性

  

1 class Dog(object):2     def __init__(self,name):3         self.name = name4 5     @staticmethod6     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(面向对象进阶)