Python: 在对象方法声明中对变量进行类型转换?
Python: typecasting a variable in an object method declaration?
我是 Python 的新手,class 如下所示:
class myclass:
var1 = 0
var2 = 1
var3 = 2
def function(self, x):
x.method(...yadda...)
对于这个 class,x
是另一个包含数据和一些方法的对象,我希望能够从 myclass
的实例中调用这些方法。有没有办法将这里的 x
指定为另一种类型的对象?例如,通常会使用以下内容来定义对象(来自名为 classfile
的导入文件):
newObj = classfile.myClass()
对于上面代码中的对象x
,我可以要求它是一个特定的对象类型,是内置对象还是我定义的对象?你会如何指定它?
我希望代码抛出错误或绕过发送的任何不是所需类型的对象,最好是在我开始尝试调用其中的方法之前(即 x.method()
)。
更好的做法是 "implement" duck typing。所以在你的情况下
def function(self, x):
try:
x.method(... yada ...)
except AttributeError:
raise MyAPIError
我是 Python 的新手,class 如下所示:
class myclass:
var1 = 0
var2 = 1
var3 = 2
def function(self, x):
x.method(...yadda...)
对于这个 class,x
是另一个包含数据和一些方法的对象,我希望能够从 myclass
的实例中调用这些方法。有没有办法将这里的 x
指定为另一种类型的对象?例如,通常会使用以下内容来定义对象(来自名为 classfile
的导入文件):
newObj = classfile.myClass()
对于上面代码中的对象x
,我可以要求它是一个特定的对象类型,是内置对象还是我定义的对象?你会如何指定它?
我希望代码抛出错误或绕过发送的任何不是所需类型的对象,最好是在我开始尝试调用其中的方法之前(即 x.method()
)。
更好的做法是 "implement" duck typing。所以在你的情况下
def function(self, x):
try:
x.method(... yada ...)
except AttributeError:
raise MyAPIError