类中属性的使用
一、属性值初始化
1)在__init__里直接初始化
class Box():
def __init__(self):
self.length=0
self.width=0
self.height=0
直接给length,width,height属性赋初值0
2)传递参数初始化
class Box():
def __init__(self,length1,width1,height1):
self.length=length1
self.width=width1
self.height=height1
box=Box(10,10,10)
在类Box中的__init__传递参数length1,width1,height1,然后通过box=Box(10,10,10)为length,width,height赋值,这里都赋值为10。
二、属性值修改
1、直接对属性值进行修改
class Box():
def __init__(self):
self.length=0
self.width=0
self.height=0
box1=Box()
print(box1.length)
box1.length=10 #修改其值为10
print(box1.length #打印修改后的值
# 0
# 10
我们可以看出,实例对象的属性,具有读、写值的功能。
2、通过方法对属性值进行修改
class Box():
def __init__(self):
self.length=0
self.width=0
self.height=0
def setNewlength(self,length1):
self.length=length1
b1=Box()
b1.setNewlength(10) #通过setNewlength(10)方法修改
print(b1.length)
# 10
三、把类赋给属性
当类的同一属性比较复杂时,可以考虑把与该属性相关的功能通过另一个类来实现。如下:
class Color():
def __init__(self,index=0): #index指定颜色列表下标
self.set_color=['black','red','black','green','yellow'] #定义列表类颜色属性
self.index=index
def setColor(self):
return self.set_color[self.index]
class Box():
def __init__(self,l1,w1,h1,c1):
self.length=l1
self.width=w1
self.heigth=h1
self.color=Color(c1).setColor() #颜色类Color在此创建实例,调用setColor()得到color的值
def volume(self):
return self.length*self.width*self.heigth
my_box=Box(10,10,10,3)
print(my_box.volume())
print(my_box.color)
# 1000
# green