免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4430 | 回复: 8
打印 上一主题 下一主题

请教:关于Python编辑器的"代码补齐"功能? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-21 13:58 |只看该作者 |倒序浏览
我所说的"代码补齐"功能是指:在编辑器中输入对象名称.后,编辑器能够弹出一个窗口:列出这个对象的成员变量与成员方法。

在下面的例子中:当输入"str->"后,编辑器会自动列出str的成员变量与成员方法。



大部分IDE都内置的支持这个非常方便的功能,对于vi/emacs来说使用一些插件也可以完成类似的功能,现在我的问题是:有没有支持"代码补齐"功能的python程序的编辑器或者插件?

论坛徽章:
1
双子座
日期:2015-01-04 14:25:06
2 [报告]
发表于 2007-08-21 14:08 |只看该作者
很多PYTHON的IDE都支持你说的这个功能吧

论坛徽章:
0
3 [报告]
发表于 2007-08-21 14:35 |只看该作者
原帖由 yecheng_110 于 2007-8-21 14:08 发表
很多PYTHON的IDE都支持你说的这个功能吧

  1. #!/usr/bin/python
  2. class Person:
  3.     def __init__(self, name, sex):
  4.         self.name = name
  5.         self.sex = sex
  6.     def getName(self):
  7.         print 'Hello, my name is: ', self.name
  8.     def getSex(self):
  9.         print 'Hello, my sex  is: ', self.sex

  10. def getInfo(person):
  11.     person.getName()
  12.     person.getSex()

  13. person = Person('Tom', 'male')
  14. getInfo(person)
复制代码

在我们编辑getInfo函数时,输入person . 后,编辑器真的能列出getName/getSex这两个成员方法吗?编辑器又如何知道person的类型的呢?

另外,你所讲的支持补齐功能的python编辑器能推荐一个吗?我python新手,见笑了,呵呵。

论坛徽章:
0
4 [报告]
发表于 2007-08-21 18:01 |只看该作者
python在运行时才可以确定某个变量的类型,因此补齐是有局限的。

论坛徽章:
0
5 [报告]
发表于 2007-08-21 18:04 |只看该作者
有些是可以的,象ulipad,其它的如wingide, pydev应该也行,不过我没有试过。具体处理比较复杂,主要是要分析源码,得出类的结构,对于赋值语句要进行猜类型。ulipad是尽可能地去试,但不能保证百分百是成功的。

论坛徽章:
0
6 [报告]
发表于 2007-08-21 18:43 |只看该作者
谢谢4楼和5楼的回答。

BTW: 2楼你不喜欢动脑筋,呵呵。

论坛徽章:
1
双子座
日期:2015-01-04 14:25:06
7 [报告]
发表于 2007-08-21 21:37 |只看该作者
原帖由 DennisRitchie 于 2007-8-21 18:43 发表
谢谢4楼和5楼的回答。

BTW: 2楼你不喜欢动脑筋,呵呵。

我是PYTHON的一个过客了
好久没有用了:wink:

论坛徽章:
0
8 [报告]
发表于 2008-01-17 18:35 |只看该作者
Komodo Edit,Python win editor,Editro.都可以进行代码提示,而且都不错.

论坛徽章:
0
9 [报告]
发表于 2008-01-18 09:00 |只看该作者
功能不太强而已..
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP