我正在研究一些基本的Python代码,但我遇到了一个我从未能够解决的问题。 实际上,我想改变一个函数的帮助提示,我完全可以做到。
首先,这是我的代码(例如):
def main(arg1,arg2,arg3):
#some blabla
return 1
问题是,如果我开始调用此函数(例如在IDLE中),我会出现一个帮助提示,它只是获得与定义函数相同的语法:main(arg1,arg2,arg3)
。
我更喜欢像main(负责任的名字,负责任的昵称,负责任的电话)这样的东西,它代表了每个args更好的方式。我已经尝试了一些文档字符串实现,但我只能将两行放在一起,但不能删除带有arg1的第一行......
有人能告诉我是否有办法得到我想要的东西?
答案 0 :(得分:0)
两件事:
def main(name, nickname, phone):
;和#
(注释),而是"""
(多行字符串)。例如:
def myfunc(name, age, height):
"""Returns a growth-rate for the person based on age and height."""
return height / age
现在“工具提示”上写着:
(name, age, height)
Returns a growth-rate for the person based on age and height.
如果您不希望显示任何命名参数,可以使用*args
:
def myfunc(*args):
"""Takes three arguments: name, age and height, returns a growth rate."""
name, age, height = args
return height / age
现在工具提示是:
(...)
Takes three arguments: name, age and height, returns a growth rate.
答案 1 :(得分:0)
如果你采用python的Zen(显式优于隐式),你需要仔细选择你的变量名,因此它们显式而且不会太长。所以在任何一种情况下,你的名字选择都很糟糕,arg0,arg1,arg2
很糟糕,因为它没有任何意义,Responsible name...
太长了(我甚至都不会提到包括空格在内没有意义)。
然后,它是文档字符串的一部分,为每个参数赋予一个句子来说明该论点的全部内容,通常是:
def afunc(foo, bar):
"""This is a function
@param foo this is the first parameter
@param bar this is the second paramater
"""
pass