Documenting `tuple` return type in a function docstring for PyCharm type hinting

Question:

How can I document that a function returns a tuple in such a way that PyCharm will be able to use it for type hinting?

Contrived example:

def fetch_abbrev_customer_info(customer_id):
  """Pulls abbreviated customer data from the database for the Customer
       with the specified PK value.

       :type customer_id:int The ID of the Customer record to fetch.

       :rtype:???
  """
  ... magic happens here ...

  return customer_obj.fullname, customer_obj.status #, etc.
Asked By: user212218

||

Answers:

I contacted PyCharm support, and this is what they said:

For tuple please use (<type_1>, <type_2>, <type_3>, e t.c.) syntax.

E.g.:

"""
:rtype: (string, int, int)
"""

This is confirmed in PyCharm’s documentation:

Type Syntax

Type syntax in Python docstrings is not defined by any standard. Thus, PyCharm suggests the following notation:

  • (Foo, Bar) # Tuple of Foo and Bar
Answered By: user212218
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.