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.
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