Home >Backend Development >Python Tutorial >Should You 'Ask Forgiveness, Not Permission' in Your Python Code?
The Philosophy Behind "Ask Forgiveness Not Permission"
The phrase "ask forgiveness not permission" is often used in coding to describe a programming style that prioritizes the execution of operations rather than checking for permissions beforehand.
In Pythonic code, this principle suggests that instead of using conditional statements to verify the existence of attributes or the validity of operations, it's more efficient to attempt the operation and handle any resulting exceptions.
Example Scenario and the "Ask Forgiveness" Approach
Consider a class with an optional attribute bar. In traditional programming, one might check if the attribute exists before using it:
if foo.bar: # Do stuff
However, the "ask forgiveness" approach advises:
try: foo.bar # Attempt to access the attribute # Do stuff except AttributeError: # Handle the error if the attribute doesn't exist
Arguments for "Ask Forgiveness"
Exceptions for Optional Attributes
In the case of optional attributes, the accepted Pythonic approach is to initialize the attribute to None and check its existence explicitly:
if foo.bar is not None: # Handle the optional part else: # Default handling
This ensures that the code is clear and the intent to handle optional attributes is明确的.
The above is the detailed content of Should You 'Ask Forgiveness, Not Permission' in Your Python Code?. For more information, please follow other related articles on the PHP Chinese website!