There are many features to use with functions in Python from docstrings to type annotation to naming conventions. This is my version of a best practice function in Python.
# Define a function called word_count that takes in a argument # called document is a string and outputs an integer. def word_count(document: str) -> int: """Counts the number of words in a string. The purpose of this function is to count the number of words (as defined by separation by spaces) in any string. Parameters ---------- document : str A string representing a single document. Returns ------- words : int The number of words in `document` Raises ------ ValueError If `words` contains zero words, an error is raised to help the user. """ # Split document by spaces and count the number of elements # in that list words = len(document.split()) # If there are zero words, if words == 0: # raise an error raise ValueError('`words` must contain at least one word') # Return word count return words
# Create a string hemingway_quote = "But man is not made for defeat. A man can be destroyed but not defeated." # Run word_count function word_count(hemingway_quote)