请假一下大佬们,想知道是我设置有问题吗,我想要的是在在第一张图里面 sheet.后面也能回显跟什么方法,是我 Import 的不正确吗文章源自玩技e族-https://www.playezu.com/190196.html软件测试培训文章源自玩技e族-https://www.playezu.com/190196.html文章源自玩技e族-https://www.playezu.com/190196.html
- 版权提示:非本站文章仅供存储任何法律责任由作者承担▷诈骗举报◁▷新闻不符◁▷我要投稿◁
免责声明:部分内容来自用户上传发布或新闻客户端自媒体如有侵权请反馈站长处理 - 原创转载:阅读转载说明>>> https://www.playezu.com/190196.html
未知地区 1F
打印看看第一张图里的 sheet 是什么类型?看看是对象类型还是字符串类型,然后还可以打印一下 dir(sheet) 看看它的属性、方法有哪些这个是语言特性造成的。
python 不是强类型语言,没有强要求指定每个变量的类型。实际上每个变量的实际数据类型都是可以随时变化的。比如可以随时把一个原来存储对象的变量改为存储 int。
这种情况下,按你图 1 里的写法, ide 是推断不出来你这个变量是什么类型的东西,自然无法做方法提示。能推断出来的方法,要不是在程序运行时(毕竟里面有具体的值了,instanceOf 一下就知道类型了),或者是熟悉变量实际类型的人。
python 3.5 开始提供了类型注解支持 来让 ide 可以推断出实际的变量类型。你这种类似字典取值的写法,实际内部调用的是 __getitem__ 这个魔法函数,要做到类型提示的话,可以试试自己想办法重写 wb 这种数据类型里的这个魔法函数,加上类型注解支持。图二能通过.给出提示,是因为你的 wk 变量是直接由库函数返回的,ide 可以精确知道 wk 变量的类型,所以能给出它包含的各种方法。
图一之所以不能.出来,是因为 sheet 变量是 wb 字典变量的某一个值,ide 不知道你这个 wb[‘login’] 到底是个啥玩意儿,它可能是一个字符串,可能是一个 int,无从猜测,取决于你的实际数据(也就是 wb[‘login’] 是啥只有你自己知道),所以无法提供任何方法名称。