码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-09-06 19:46:15      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

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

  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(面向对象进阶)

标签:

原文地址:http://www.cnblogs.com/lei0213/p/5846803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!