面向对象——抽象
对象(实例):由数据及能对其实施的操作所构成的封装体
类:描述了对象的特征(数据和操作)
class ClassName(object):
'define ClassName class'
class_suite
#定义类
class Color(object):
"define Color class"
#创建实例
counter=0 #类属性
def __init__(self,color):
self.color=color
def green(self,greenna):
self.greenna=greenna
print('the '+self.color+' is '+greenna)
Color.counter += 1 #使用类属性要加类名
def red(self,redna):
self.redna='red'
Color.counter += 1
return print('red')
#调用类来使用实例
if __name__ == '__main__':
color=Color('COLOR')
color.green("greenna")
color.red("redna")
print('the counter of color is '+str(color.counter)) #color.counter是int类型,需要转换为str文本类型
object:父类
self:类的定义需要每个方法的声明中第一个参数是self,表明调用这个方法的对象本身,在调用时不需要实参跟它对应。
方法只有在他有实例时才能被调用,所以当存在一个实例时方法才被认为是绑定到了这个实例上,而类只是一个规范、模板,在实际开发过程中更多情况我们要根据这个规范创建一个一个代表具体对象的实例。
对象的初始化方法__init__()
- 当类被调用后,Python将创建实例对象
- 创建完对象后,Python自动调用的第一个方法为__init__()
- 实例对象作为方法的第一个参数(self)被传递进去;调用类创建实例对象的参数都传给__init__()
类属性
- 类的数据属性(静态成员)
- 仅仅是所定义的类的变量
- 在类创建后被使用
- 可以由类的方法来更新,也可以在主程序中更新
- 类属性和实例无关,修改类属性需要使用类名