实现一个求体积函数的Box1类

class Box1():               #类定义
    '''求立方体的类'''
    def  __init__(self,length1,width1,height1):         #传递参数的保留函数__init__
        self.length=length1         #长数据变量
        self.width=width1           #宽数据变量
        self.height=height1         #高数据变量
    def volume(self):
        return self.length*self.width*self.height
my_box1=Box1(10,10,10)     #通过Box1类赋值建立对应的一个实例my_box1
print('立方体的体积是%d' %(my_box1.volume()))             #通过实例调用volume()方法求体积并打印

执行结果 立方体的体积是1000

相关知识

建议性约定类名首字母大写,方便阅读(统一约定)
类函数在类或实例里又叫方法(Method),这里的方法必须依赖类或实例而存在.

1.实际引用时,为了区分,把volume叫函数,volume()叫方法
2.init()专业名称叫构造方法,特殊方法不对实例显示,其他自定义方法都可以被实例调用.

保留函数__init__和self关键字

不能用其他函数代替该函数的作用,包括函数名的写法必须按照__init__输入
def __init__(self)                              # 使用前必须声明  简约格式                 
def __init__(self,length1,width1,height1)       # 传递多个参数时                          
my_box1=Box1(10,10,10)                          # self为隐形传递,实例化复制过程中自动进行   
def volume(self):                               # 去掉self就不能被实例调用             
多实例间互不干扰

实例可以通过(.)点号调用属性方法两个对象

tt=my_box1.length           #调用属性
my_box1.volume()            #调用volume()方法

-------------------------分割线-------------------

属性使用

直接对属性值进行修改

class Box1():               #类定义
    '''求立方体的类'''
    def  __init__(self):      #传递参数的保留函数__init__
        self.length=1         #长数据变量
        self.width=2          #宽数据变量
        self.height=3         #高数据变量
B1=Box1()
print(B1.length)              #1
B1.length=11                  #修改B1实例length属性值为11
print(B1.length)              #11
B2=Box1()                     #创建新的实例
print(B2.length)              #1
B2.length=20
print(B2.length)              #20

通过方法对属性值进行修改

class Box1():               #类定义
   '''求立方体的类'''
   def  __init__(self):      #传递参数的保留函数__init__
       self.length=1         #长数据变量
       self.width=2          #宽数据变量
       self.height=3         #高数据变量
   def setNewLength(self,length1):         #定义修改属性length的参数
       self.length=length1

b1=Box1()
b1.setNewLength(15)
print(b1.length)              #15

把类赋给属性

class Color1():
    def __init__(self,index=0):
        self.set_color=['white','red','blue','pink']
        self.index=index
    def setColor(self):
        return self.set_color[self.index]


class Box1():               #类定义
    '''求立方体的类'''
    def  __init__(self,length1,width1,heigth1,c1=0):      #传递参数的保留函数__init__
        self.length=length1         #长数据变量
        self.width=width1           #宽数据变量
        self.height=heigth1         #高数据变量
        self.color0=Color1(c1).setColor()
    def volume(self):
        return self.length*self.width*self.height

my_box=Box1(10,10,10,1)
print(my_box.volume(),my_box.color0)    #1000 red
posted @ 2020-11-14 22:33  17。  阅读(60)  评论(0)    收藏  举报