我是Python的新手,并且有一个类如下:
Route::patterns([
'uuid1' => '^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$',
'uuid2' => '^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$',
]);
对于这个类,$pattern = 'uuid regex';
Route::patterns([
'uuid1' => $pattern,
'uuid2' => $pattern,
]);
是包含数据和一些方法的另一个对象,我希望能够在class myclass:
var1 = 0
var2 = 1
var3 = 2
def function(self, x):
x.method(...yadda...)
的实例中调用这些方法。有没有办法在这里指定x
作为另一种类型的对象?例如,通常会使用以下内容来定义对象(来自名为myclass
的导入文件):
x
对于上面代码中的对象classfile
,我是否可以要求它具有特定的对象类型,无论是内置对象还是我定义的对象?你会如何指定这个?
我希望代码抛出错误或绕过任何不是所需类型的对象,最好是在我开始尝试调用其中的方法之前(即newObj = classfile.myClass()
)。
答案 0 :(得分:2)
更好的做法是实施" duck typing。所以在你的情况下
def function(self, x):
try:
x.method(... yada ...)
except AttributeError:
raise MyAPIError