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