python对象类型转换

python对象类型转换,python,Python,我一直在尝试搜索如何在python中传递对象引用,并将其类型转换为类似于Java的类型,但没有效果。我不知道这个话题是否存在 我的问题是必须将对象引用传递给类构造函数。但我不知道如何对对象的引用进行类型转换。在java中,虽然我已经完成了这项工作,但我必须将代码传输到服务器端 非常感谢,, 杰克 没有理由用python强制转换任何内容。你想干什么?只需像您一样使用对象,如果它的类型不正确,它将失败。没有强制转换这样的事情,因为变量名没有与之关联的类型。Python是一种动态类型化语言,因此,除非

我一直在尝试搜索如何在python中传递对象引用,并将其类型转换为类似于Java的类型,但没有效果。我不知道这个话题是否存在

我的问题是必须将对象引用传递给类构造函数。但我不知道如何对对象的引用进行类型转换。在java中,虽然我已经完成了这项工作,但我必须将代码传输到服务器端

非常感谢,, 杰克


没有理由用python强制转换任何内容。你想干什么?只需像您一样使用对象,如果它的类型不正确,它将失败。没有强制转换这样的事情,因为变量名没有与之关联的类型。

Python是一种动态类型化语言,因此,除非您在该类型中特别需要,否则强制转换没有多大意义

在Python中,应改用Duck类型:

因此,与其尝试将
parent\u rectangle
转换为
SearchRectangle()
,不如简单地测试
SearchRectangle()
是否具有所需的属性

或者,如果您确实想确保始终获得一个
search矩形()
,请像这样使用
isinstance

if isinstance(parent_rectangle, SearchRectangle):
这可能是一本很好的读物:

进一步解释:

Casting
是将指针/引用带到一种类型的对象,并对编译器说“是的,我知道这是一个foo引用,但请假装它是一个bar引用”

Python没有这种意义上的指针/引用(尽管在另一种意义上,一切都是引用)。此外,编译器/解释器并不关心类型是什么。因此,铸造既是不可能的,也是毫无意义的


所以在你的例子中:跳过类型转换。不管怎样,它都会起作用的。如果没有。然后就这个问题提出一个问题。

是的,但是我如何在设计时告诉IDE对象具有特定类型(autocomplete等…?这取决于IDE,但许多支持通过Sphinx
rtype
参数给出的类型提示:有些甚至可能支持Google风格的
返回
选项:对autocomplete非常有用。实际上,它们在python 3中可以有类型,例如,您可以指定它是什么
if isinstance(parent_rectangle, SearchRectangle):