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(面向对象进阶)的主要内容,如果未能解决你的问题,请参考以下文章

Python之路:面向对象(进阶)

python之路——面向对象(进阶篇)

Python之路第八篇:Python基础(24)——面向对象进阶

10python全栈之路-面向对象进阶

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

Python学习之路——Day8(面向对象进阶)