我通常使用C ++但最近不得不在Python中编写很多程序。来自C ++背景,我发现动态类型在我必须修改现有代码库时非常不方便。我知道我遗漏了一些非常基本的东西,因此转向stackoverflow社区来了解最佳实践。
想象一下,有一个包含许多方法的类,我需要编辑现有方法。现在,在C ++中,我可以显式地看到每个参数的数据类型,如果需要,可以查看相应类的.h文件,并且可以快速了解发生了什么。另一方面,在python中,我看到的只是一些变量名。我不确定它是一个列表或字典,还是一些带有getter和setter的自定义数据结构。为了解决这个问题,我需要查看这个函数的一些现有用法,或者使用断点运行代码,看看我得到了什么样的数据结构。我发现这两种方法都非常耗时。有没有更快的方法来解决这个问题?我应该如何快速确定特定变量的数据类型?
总体印象是代码在Python中更容易读/写,但由于缺少类型,我发现读取python代码并不是很快。我在这里缺少什么?
答案 0 :(得分:1)
我也感受到了你的痛苦!我经常在Python和C ++之间切换,所以范式转换确实让我产生偏执狂。
但是,我已经重新调整了我的代码:
它不会提高运行时性能,但在阅读数万行代码时可以提供舒适感。此外,您可以使用此程序运行python程序以进一步验证类型注释:
答案 1 :(得分:0)
以下是我要遵循的事项:
docstring
使用调试(或标志)变量,默认设置为False
,并按如下方式保留if块。
if debug:
print(type(variable))
因此,通过这种方式,您可以确定看到变量的类型。
答案 2 :(得分:0)
在Python中,您可以使用
查看任何变量的数据类型type(variable_name)
它将显示该变量的数据类型。如int,bool,str等