【发布时间】:2020-03-02 22:08:23
【问题描述】:
我有以下代码:
class Vehicle:
def __init__(self, name=None, color='Red', make='Toyota'):
self._name = name
self._color = color
self._make = make
@property
def name(self):
if self._name is None:
return 'name is none'
return self._name
@name.setter
def name(self, value):
self._name=value
def getColor(self):
return self._color
def getMake(self):
return self._make
class Car(Vehicle):
def __init__(self, mode='Running', *args, **kwargs):
super().__init__(self, *args, **kwargs)
self._mode=mode
def getMode(self):
return self._mode
我想启动汽车的名称,但是以下都不起作用。有简单的方法吗?
mycar=Car('Corolla')
mycar=Car(name='Corolla')
【问题讨论】:
-
请不要在 Python 中编写 getter,例如
def getColor(self):等。 -
变量和函数名应该遵循
lower_case_with_underscores风格,你不需要那些基本的getter,这是Python而不是Java。
标签: python inheritance subclass init args