小白教程

 找回密码
 立即注册
查看: 6073|回复: 3

[已解决]请问如何知道别人写的函数的返回类型?

[复制链接]

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 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也还可以。(纯属个人感受)
参考:
  1. def hello(a):
  2.     if a == 0:
  3.         return "beijing"
  4.     else:
  5.         return 1
  6. #test
  7. assert type(hello(1)) is int
  8. assert isinstance(hello(1), int)
  9. assert type(hello(0)) is str
  10. assert isinstance(hello(0), str)
复制代码
回复

使用道具 举报

1

主题

2

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2021-3-30 07:23:06 | 显示全部楼层 &
最好 当然是阅读理解源码了。
两个内建的函数可能对你有用:
1. type()
2. isinstance()
至于代码补全,好的IDE是可以分析的。个人觉得pycharm做的不错,vs code也还可以。(纯属个人感受)
参考:
  1. def hello(a):
  2.     if a == 0:
  3.         return "beijing"
  4.     else:
  5.         return 1
  6. #test
  7. assert type(hello(1)) is int
  8. assert isinstance(hello(1), int)
  9. assert type(hello(0)) is str
  10. assert isinstance(hello(0), str)
复制代码
回复

使用道具 举报

0

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-4-16 20:53:08 | 显示全部楼层
可以通过type()函数来确定一个函数的返回值类型。print(type(***)),***处放上函数,变量都可以。
回复

使用道具 举报

0

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-4-23 17:36:40 | 显示全部楼层
记得有一个库,会通过运行代码,获得类型,并生成代码文件 ,想不起来是啥了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-11-24 16:35 , Processed in 0.023711 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表