print_function
is a FeatureName
not be confused with the print
built-in function itself.
It is a feature that is available from the future so that you can use the built-in function that it can provide.
Other Features include:
all_feature_names = [
"nested_scopes",
"generators",
"division",
"absolute_import",
"with_statement",
"print_function",
"unicode_literals",
]
There are specific reasons as when you migrate your code to next higher version, your program will remain as such as use the updated feature instead of the __future__
version. Also if it were function name or the keyword itself, it may cause confusion to the parser.