Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我怎样才能创造我自己的;提示“;在空闲状态下调用函数时?_Python_Function_Python Idle - Fatal编程技术网

Python 我怎样才能创造我自己的;提示“;在空闲状态下调用函数时?

Python 我怎样才能创造我自己的;提示“;在空闲状态下调用函数时?,python,function,python-idle,Python,Function,Python Idle,我知道我的问题可能会让人困惑,很难问一些你不知道的问题(我称之为“提示”),所以我对此表示歉意。话虽如此,我的意思是(白框中的文本): 我的问题是: 调用函数时,如何生成自己的提示(并自定义)文本 到底是什么 本例中的文本是什么意思 事实上,您对文本框的提示是正确的,因此不需要引用。您看到的是一个类型提示。Python内部的键入模块支持它。请参阅下面的示例: def add(a: int, b: int) -> int: return a + b 然后,当您尝试调用该函数时,

我知道我的问题可能会让人困惑,很难问一些你不知道的问题(我称之为“提示”),所以我对此表示歉意。话虽如此,我的意思是(白框中的文本):

我的问题是:

  • 调用函数时,如何生成自己的提示(并自定义)文本
  • 到底是什么
  • 本例中的文本是什么意思

    • 事实上,您对文本框的提示是正确的,因此不需要引用。您看到的是一个类型提示。Python内部的
      键入模块支持它。请参阅下面的示例:

      def add(a: int, b: int) -> int:
          return a + b
      
      然后,当您尝试调用该函数时,您将看到一个与您显示的文本框非常相似的文本框。如果您想了解更多信息,我建议您阅读
      键入
      模块


      也就是说,在大多数情况下,您不需要该类型提示,因为文档字符串(“关于我的函数的信息”)通常更受欢迎。

      IDLE将弹出窗口调用为“calltip”。对于在python代码中使用def语句定义的模块,它在第一行显示签名,在第二行显示文档字符串的第一行。它们适用于使用括号调用的任何类型的可调用函数

      如果键入“(”,除非键入速度很快,否则会弹出框。在框关闭后,要将其返回,请将光标放在“(”和“)”之间,然后在顶部菜单上选择“编辑”和“显示呼叫提示”,或键入菜单上显示的快捷键。有关更多信息,请参阅:

      • 调用函数时,我如何能做出自己的提示[…]?
      首先,有两种我称之为“提示”的类型:


      以下是关于文档字符串的内容和格式的一些约定

      第一行应始终是对象用途的简短摘要。[…]这一行应以大写字母开头,以句号结尾

      如果文档字符串中有多行,则第二行应为空,以直观方式将摘要与其余描述分开。以下几行应为描述对象调用约定及其副作用等的一段或多段。[…]

      以下是多行docstring的示例:

      还有一个:

      函数注释是关于所用类型的完全可选元数据信息 通过用户定义的函数(有关更多信息,请参阅PEP 3107和PEP 484)

      注释作为字典存储在函数的Annotations属性中,对函数的任何其他部分都没有影响。参数注释由参数名称后的冒号定义,后跟计算注释值的表达式。返回注释由文本->定义,fol在参数列表和表示def语句结尾的冒号之间,由表达式降低。以下示例包含位置参数、关键字参数和带注释的返回值:

      >>def(火腿:str,鸡蛋:str='eggs')->str:
      …打印(“注释:”,f.__;注释__;)
      …打印(“参数:”,火腿,鸡蛋)
      …返回火腿+'和'+鸡蛋
      ...
      >>>f(“垃圾邮件”)
      注释:{'ham':,'return':,'eggs':}
      论点:垃圾鸡蛋
      “垃圾邮件和鸡蛋”
      

      • 到底是什么?
      上面写了什么,回答了什么:


      IDLE将弹出窗口调用为“calltip”。对于在python代码中定义的带有def语句的模块,它在第一行显示签名,在第二行显示文档字符串的第一行。它们适用于使用括号调用的任何类型的可调用函数

      如果键入“(”,除非键入的速度很快,否则会弹出框。关闭框后,要将光标移回“(”和“)”之间,然后选择顶部菜单上的“编辑”和“显示呼叫提示”,或者键入菜单上显示的快捷键。有关详细信息,请参阅


      • 本例中的文本是什么意思?

      可悲的是,因为我没有用我现在的样子来工作,而且我从来没有必要去理解它,所以我没有找到每个调用提示的语法。

      这个“提示”显示的是
      sum
      的参数。我想你能做的最接近自己的提示就是
      def
      调用函数
      tmp(x,y,z):
      并查看在键入
      >tmp时是否会收到“提示”(
      …我忘了提到我还想自定义它,比如甚至在函数的提示中添加它的功能或内容。但无论如何,感谢您的帮助!这可能是不可能的。这不是Python语言的功能,而是您用来编辑代码的IDE的功能。您在编辑中添加的那部分,可以将其移动到吗一个单独的答案?看起来你是对的,谢谢你的帮助,但显然这只适用于2.7以上的python版本。遗憾的是,这与我所拥有的不适用。调用提示早在键入模块出现之前就存在了,在2.7上可以很好地工作)。
      >>> def my_function():
      ...     """Do nothing, but document it.
      ...
      ...     No, really, it doesn't do anything.
      ...     """
      ...     pass
      ...
      >>> print(my_function.__doc__)
      Do nothing, but document it.
      
          No, really, it doesn't do anything.
      
      >>> def f(ham: str, eggs: str = 'eggs') -> str:
      ...     print("Annotations:", f.__annotations__)
      ...     print("Arguments:", ham, eggs)
      ...     return ham + ' and ' + eggs
      ...
      >>> f('spam')
      Annotations: {'ham': <class 'str'>, 'return': <class 'str'>, 'eggs': <class 'str'>}
      Arguments: spam eggs
      'spam and eggs'