面向对象编程(OOP)是最有效的软件编写方法之一,我们会使用到类(CLASS)来定义出一大类对象都有的行为,当我们基于类来创建对象时,每个对象都具备这种通用的行为。
然后根据需要赋予每个对象独特的个性。根据类来创建对象被称为实例化,你将把自己编写的类存储在模块中,并在自己的程序文件中导入其他程序员编写的类。
1. 创建类
简单来说我们定义的类应该包含两部分:属性+功能。
我们来定义一个简单的计算器的类Calculator,
class Calculator:#对于类的定义我们要求首字母大写
name ='Good calculator'#固有属性项
price =20
def __init__(self,name,price,H,width=10,weight=5):#初始化类的属性
self.n=name
self.p=price
self.h=H
self.wi=width
self.we=weight
#定义内部函数,实现功能
def add(self,x,y):#self 表示本类
print(self.name)#在类中使用self调用它的名字
result = x+y
print(result)
def minus(self,x,y):
result = x-y
print(result)
def times(self,x,y):
result = x*y
print(result)
def divide(self,x,y):
result = x/y
print(result)
2.使用类
根据上面创建的"Calculator"类, 定义一个外部实例"c"来调用类:
c = Calculator('CC',20,30)#定义实例来使用该类
#打印出实例中任何你想要的属性值
#使用格式:class.name.属性
print('默认名称:',c.name)
print('实例中名称:',c.n)
print('默认的价格属性:',c.price)
print('实例中赋予的价格属性:',c.p)
print('实例中高度值:',c.h)
print('实例中的宽度:',c.wi)
print('实例中的重量:',c.we)
print('========================================')
#调用类中的方法
add_ = c.add(1,2)
minus_ = c.minus(1,2)
times_ =c.times(1,2)
divide_ =c.divide(1,2)
'''
默认名称: Good calculator
实例中名称: CC
默认的价格属性: 20
实例中赋予的价格属性: 20
实例中高度值: 30
实例中的宽度: 10
实例中的重量: 5
========================================
Good calculator
3
-1
2
0.5
'''
注意:这里赋予属性的默认值是按照实际情况去设定,另外应该注意实例调用的时候默认属性的命名方式不同会导致复制结果的差异,这点和列表,字典都很类似。