Crossin的编程教室

标题: 为何pycharm对于urllib2.openurl.read()无法自动补全? [打印本页]

作者: neverwinboy    时间: 2017-7-30 21:02
标题: 为何pycharm对于urllib2.openurl.read()无法自动补全?
为何pycharm对于urllib2.openurl(a).read()无法自动补全?
a = urllib2.openurl('http://www.baidu.com')

urllib2后面加点 可以出来openurl方法,再在a后面加点,read()方法怎么也出不来
但是用dir(a)可以看到a确实是有read()方法的。

但是pycharm为什么不能自动补全呢?

作者: crossin先生    时间: 2017-7-31 22:32
编辑器正常不会知道你这个函数会返回什么类型的对象,所以它没法判断给你做什么补全
作者: neverwinboy    时间: 2017-8-1 21:09
crossin先生 发表于 2017-7-31 22:32
编辑器正常不会知道你这个函数会返回什么类型的对象,所以它没法判断给你做什么补全 ...

已经调用了openurl函数了,怎么会不知道返回什么类型的对象呢?那为什么我urllib2后面加句点可以自动补全?
作者: crossin先生    时间: 2017-8-2 14:50
neverwinboy 发表于 2017-8-1 21:09
已经调用了openurl函数了,怎么会不知道返回什么类型的对象呢?那为什么我urllib2后面加句点可以自动补全 ...

urllib2 是模块。
  1. def fn():
  2.     i = random.randint(10):
  3.     if i < 5:
  4.         return [1,2,3]
  5.     else:
  6.         return {'i': 0}
复制代码
你说这个函数返回什么对象?




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5