菜鸡 PHPer 初学 pytho3,想问个关于函数注释的问题

2017-02-26 14:05:04 +08:00
 mokeyjay

初学 python3 , IDE 是 PyCharm , PHP IDE 是 phpStorm

在 PHP 中,函数或方法可以加类似这样的注释( PHPDoc )

/**
* 连接到驱动
* @param string $host
* @param string $port
* @return mixed
*/

IDE 可以识别并给出相应的提示、补全等,非常方便

但是在 python 里没有发现有相应的规范

搜了一下,都是些#单行、三引号多行之类,没有发现有类似 JavaDoc 、 PHPDoc 之类的注释规范,这写起代码来就很蛋疼啊

是 python 本身的问题吗?还是我没找到?

2936 次点击
所在节点    Python
17 条回复
introom
2017-02-26 14:12:09 +08:00
对,自身问题,大家都在乱搞。 pep257 没有强制规定什么。
twisted 用 pydoctor, 个家都有自己的,不过八九不离十,找个靠谱的模仿就行了。
kindjeff
2017-02-26 14:15:13 +08:00
pycharm 支持好几种的,我用的和你写的 php 注释方法差不多。你可以搜一下 Pycharm type hinting
param
2017-02-26 14:16:38 +08:00
谢邀。
三引号写成的注释可以通过 xxx.__doc__的方式获得。
kindjeff
2017-02-26 14:16:46 +08:00
mokeyjay
2017-02-26 14:20:18 +08:00
@introom #1 原来如此,好吧
@kindjeff #2 感谢你!我就按照 PyCharm 推荐的格式来吧
@param #3 哈哈哈哈哈哈哈哈神 TM 蟹妖,这 ID 可以的
mokeyjay
2017-02-26 14:25:56 +08:00
@kindjeff #2 按照 4L 文档里的格式写了,然而还是没有提示啥的……我可能用了假的 PyCharm
kindjeff
2017-02-26 14:27:50 +08:00
@mokeyjay 贴上来看看?
iyaozhen
2017-02-26 14:33:38 +08:00
有,你在函数声明下一行输入 """ 然后回车就行
就和 php 输入 /**然后回车一样
mokeyjay
2017-02-26 14:36:37 +08:00
这是我写的注释


这是调用此函数时 IDE 给出的智能提示……跟没有一样
mokeyjay
2017-02-26 14:37:40 +08:00
@iyaozhen #8 嗯嗯,我也发现了。目前根据 4L 的文档在学,但是注释写了跟没写一样,没啥效果,参照 9L 。不知道是不是我写的格式有问题
kindjeff
2017-02-26 14:48:26 +08:00
就是这样的,只会在你写错的时候有提示~在函数的位置按 ctrl Q 才能看见 docstring
mokeyjay
2017-02-26 14:53:06 +08:00
@kindjeff #11 原来如此,感谢回答。刚从 PHP 过来,比较怀念 PHPDoc 的提示
freestyle
2017-02-26 15:13:02 +08:00
@mokeyjay #9 代码第一行改为 def get_info(li : str) -> list: 然后在调用的时候看一下 Pycharm 的提示
gamexg
2017-02-26 15:54:33 +08:00
@freestyle +1

这种如果调用时填错了类型, pycharm 会直接红线标出来。
changwei
2017-02-26 16:47:35 +08:00
楼主就用三个引号吧,别纠结了,大家都这样用的。 ide 有提示,__doc__也可以获取
mokeyjay
2017-02-26 17:14:12 +08:00
@kindjeff #11 再请问下:我发现 import 好像并不是非要写在文件头的。那是不是当我要用到的时候再 import 这样性能会更好些呢?
@freestyle #13
@gamexg #14
@changwei #15
感谢,已按照 PyCharm 的帮助文档用上三引号了
WangYanjie
2017-02-26 23:48:52 +08:00
@mokeyjay 不是,用到再 import 会带来一些潜在的问题,看看 pep8 ,能清除一些大众的点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/343260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX