孟子 发表于 2021-3-22 17:26:25

请问如何知道别人写的函数的返回类型?

如果别人写的函数没有注释,我怎么知道返回的数据类型?
你能知道只有阅读这个函数的代码吗?如果这个函数非常复杂(非常糟糕),确认函数的返回类型是否耗时?
函数可以返回这种类型的数据或那种类型的数据。在实际操作中,函数的调用者是否永远不能完全确认将获得什么类型的数据?
如果有很多函数和大型项目,程序员能否只靠头脑记住每个函数的类型?
Java c#和其他强类型语言。在IDE中编写代码时,因为IDE可以知道对象的类型,所以它可以完成变量类型的代码,比如当“被标记在字符串变量s之后”时,IDE会自动列出各种可用的字符串方法。当你输入“后整数类型变量i”,它也会列出整数类型的可用方法。自动列表的不同方法是不同的,列出的方法必须对这种类型可用
所以在Python中,既然变量可以是这种类型或那种类型,ide能使精确的代码补充吗?
我在Jupiter笔记本上发现我写了变量名+”。然后我可以按tab键来完成代码。这种补充剂可靠吗?它是否只是列出了Python中常见的关键字以供手动选择,而没有考虑它是否实际可用?


雪山一枝蒿 发表于 2021-3-30 07:23:06

最好 当然是阅读理解源码了。
两个内建的函数可能对你有用:
1. type()
2. isinstance()
至于代码补全,好的IDE是可以分析的。个人觉得pycharm做的不错,vs code也还可以。(纯属个人感受)
参考:
def hello(a):
    if a == 0:
      return "beijing"
    else:
      return 1
#test
assert type(hello(1)) is int
assert isinstance(hello(1), int)
assert type(hello(0)) is str
assert isinstance(hello(0), str)

不做大哥好多年 发表于 2021-4-16 20:53:08

可以通过type()函数来确定一个函数的返回值类型。print(type(***)),***处放上函数,变量都可以。

不好耍 发表于 2021-4-23 17:36:40

记得有一个库,会通过运行代码,获得类型,并生成代码文件 ,想不起来是啥了
页: [1]
查看完整版本: 请问如何知道别人写的函数的返回类型?