如何将类成员变量限制为Python中的特定类型?
更长的版本:
我有一个类有几个成员变量,这些变量在类外部设置.由于它们的使用方式,它们必须是特定类型,int或list.如果这是C++,我只是将它们设为私有,并在'set'函数中进行类型检查.鉴于这是不可能的,有没有办法限制变量的类型,以便在运行时如果为它们分配了错误类型的值,则会发生错误/异常?或者我是否需要在使用它们的每个函数中检查它们的类型?
谢谢.
class My_Class:
def __init__(self):
self._x = 0
@property
def x(self):
return self._x
@x.setter
def x(self, x):
self._x = x
Run Code Online (Sandbox Code Playgroud)
如果我从上面的代码中删除以下 getter:
@property
def x(self):
return self._x
Run Code Online (Sandbox Code Playgroud)
代码停止工作。如何在没有 getter 的情况下创建 setter?
我有一个带有属性装饰器的课程。
class Dispatcher:
def __init__(self, url):
self._session = None
@property
def session(self):
return self._session
@session.setter
def session(self, value):
self._session = value
Run Code Online (Sandbox Code Playgroud)
但我不需要getter,我可以只拥有财产setter吗?
这更多的是一种好奇心。