访问对象的属性,该对象是Python中另一个对象中的数组

时间:2019-06-23 16:40:33

标签: python python-3.x oop

我有两节课:CarRentComp和Cars。

CarRentComp有一系列汽车。我需要将CarRentComp和一辆Car插入DB(因此该数组现在的长度为1)。

我的问题是我实际上无法访问Cars属性。

我来自Java / C#背景,因此我试图将我所做的一些工作翻译成Python。

两个文件:

class Car():
__plate=""

def set_plate(self, pPlate):
    self.__plate=pPlate

def get_plate(self):
    return self.__plate

def __init__(self,pPlate):
    self.set_plate(pPlate)

from car import Car
class CarRentComp():
__name=""
__cars=[Car("")]

def set_name(self, pName):
    self.__name=pName
def get_name(self):
    return self.__name

def set_cars(self, pCars):
    self.__name=pCars

def get_cars(self):
    return self.__cars

def __init__(self,pName, pCars):
    self.set_name(pName)
    self.set_cars(pCars)

from carrentcomp import CarRentComp
class OpsCarRentComp():

    def insert_carrentcomp(self, carrentcomp = CarRentComp):
        name = carrentcomp.get_name()
        vehicles = carrentcomp.get_cars()

        car1 = vehicles[0]

        plate = car1..get_plate()

我要从另一个文件中调用insert_carrentcomp,并将CarRentComp及其汽车添加到数组中:

car1 = Car("AAA2345")

add_car_rent_comp= CarRentComp("Deluxe Cars", [car1])

OpsCarRentComp.insert_carrentcomp(OpsCarRentComp, add_car_rent_comp)

我无法访问汽车属性,例如OpsCarRentComp类中的车牌。

plate = car1..get_plate()-当我将其与CarRentComp进行比较时,它是我的方法采用的参数之一。我有点想用Python及其更简单的做事方法。

1 个答案:

答案 0 :(得分:0)

由于Object.defineProperty()方法未使用self,因此您可能希望使其成为var abc = "hello"; Object.defineProperty(String.prototype,'reverser',{ value:function(){ return this.split('').reverse().join(''); } }) var result = abc.reverser(); console.log(result)

尝试类似的东西:

insert_carrentcomp