面向对象_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