类
实现一个求体积函数的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

浙公网安备 33010602011771号