第4课:Python类操作

python中一切皆为对象,对象=属性+方法,在python中,把具有相同属性和方法的对象归为一个类(class)

创建类
class ClassName:
   '类的帮助信息'   #类文档字符串
   class_suite  #类体

类的帮助信息可以通过ClassName.__doc__查看
class_suite 由类成员,方法,数据属性组成

实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-

class Employee:
   empCount = 0

   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
   
   def displayCount(self):
     print "Total Employee %d" % Employee.empCount

   def displayEmployee(self):
      print "Name : ", self.name,  ", Salary: ", self.salary


创建实例
emp = Employee("godeye", 2000)
emp.displayEmployee()

返回值:
Name :  godeye , Salary:  2000


类的构造函数与析构函数
def __init__( self, x=0, y=0):
      self.x = x
      self.y = y
   def __del__(self):
      class_name = self.__class__.__name__
      print class_name, "销毁"

类的继承
语法 class 派生类名(基类名)://... 基类名写作括号里
在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用

实例:
class GrandPa:
    def __init__(self):
        print('I\'m GrandPa')


class Father(GrandPa):
    def __init__(self):
        print('I\'m Father!')

class Son(Father):
    """A simple example class"""
    i = 12345
    def __init__(self):
        print('这是构造函数,son')
    def sayHello(self):
        return 'hello world'

if __name__ == '__main__':
    son = Son()
    # 类型帮助信息 
    print('类型帮助信息: ',Son.__doc__)
    #类型名称
    print('类型名称:',Son.__name__)
    #类型所继承的基类
    print('类型所继承的基类:',Son.__bases__)
    #类型字典
    print('类型字典:',Son.__dict__)
    #类型所在模块
    print('类型所在模块:',Son.__module__)
    #实例类型
    print('实例类型:',Son().__class__)