面向对象_python

面向对象_python

  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • 实例变量:定义在方法中的变量,只作用于当前实例的类。
  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
  • 实例化:创建一个类的实例,类的具体对象。
  • 方法:类中定义的函数。
  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
  •  1 #!/usr/bin/env python
     2 # encoding: utf-8
     3 class people(object):
     4     '客户信息测试'
     5     count = 0
     6     def __init__(self,name,age,work,gener): #初始换函数
     7         self.name1 = name
     8         self.age1 = age
     9         self.work1 = work
    10         self.gener1 = gener
    11         people.count += 1
    12     def huangz(self,work):
    13         print("%s has find the new [%s]"%(self.name1,work))
    14         self.work1 = work
    15 p1 = people('jim',32,'IT','man')
    16 print('P1:', p1.work1,p1.count)
    17 p2 = people('tom',54,'teacher','woman')
    18 print("P1:",p1.work1,p1.count)
    19 p3 = people('jik',24,'teacher','woman')
    20 p1.huangz('syudey')
    21 p2.huangz('please')
    22 print("P1:",p1.work1,p1.count)
    23 print("P2:",p2.work1,p2.count)
    24 print('people.__dict__:',people.__dict__) # 类的属性(包含一个字典,由类的数据属性组成)
    25 print('people.__doc__:',people.__doc__) #类的文档字符串
    26 print('people.__name__:',people.__name__) # 类名
    27 print('people.__module__:',people.__module__)
    28 # 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
    29 print('people.__bases__:',people.__bases__) #类的所有父类构成元素(包含了以个由所有父类组成的元组)
    30 '''
    31 P1: IT 1
    32 P1: IT 2
    33 jim has find the new [syudey]
    34 tom has find the new [please]
    35 P1: syudey 3
    36 P2: please 3
    37 people.__dict__: {'huangz': <function people.huangz at 0x0000024BBD8BD598>, '__init__': <function people.__init__ at 0x0000024BBD8BD510>, '__dict__': <attribute '__dict__' of 'people' objects>, '__module__': '__main__', '__doc__': '客户信息测试', 'count': 3, '__weakref__': <attribute '__weakref__' of 'people' objects>}
    38 people.__doc__: 客户信息测试
    39 people.__name__: people
    40 people.__module__: __main__
    41 people.__bases__: (<class 'object'>,)
    42 
    43 '''

    ok

posted @ 2016-03-01 09:54  侠之大者kamil  阅读(196)  评论(0编辑  收藏  举报