python将实例用作属性

  • Post author:
  • Post category:python


  • 可将大型实例类拆分为多个协同工作的小类。


例如

,不断给ElectricCar类添加细节时。我们可能会发现其中包含很多专门针对汽车电瓶的属性和方法。在这种情况下我们可将这些属性和方法提取出来,创建一个新的类并放入其中,将这个新的类用作ElectricCar类的一个属性:

class Car():
--snip--
class Battery():
"""创建Battery储存某些属性和方法供其他大类调用————把本来写在一起的大类的属性和方法拆分成小类效率更高"""
	def __init__(self,battery_size=70):
    """初始化电瓶属性"""
    		self.battery_size=battery_size
    def describe_battery(self):
      		print("This car has a"+str(self.battery_size)+"-kwh battery.")
class ElectrcCar(Car):
  		"""电动汽车的独到之处"""
    def __init__(self,make,model,year):
        """初始化父类的属性。在初始化电动汽车特有的属性"""
        super().__init__(make,model,year)
    			    """连接父子"""
        self.battery=Battery()
        """我们在ElectricCar类中添加一个名为self.battery
的属性,使的Battery得到调用并储存在self.battery中"""
my_tesla=ElectricCar('tesla','models',2020)
my_tesla.get_descriptive_neam()
my_tesla.battry.describe_battery()

我们创建一辆电动汽车,并将其储存在变量my_tesla中。每次要描述电瓶时,我们都要使用电动汽车的属性battery:

my_tesla.battery.describe_battery()


  • 这行代码让python在实例my_tesla中查找属性battery,并对储存在该属性中的Battery实例调用方法describe_battery().



版权声明:本文为qq_18837609原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。