Using callable to dynamically check and generate methods
We will now look into another familiar function named callable
to check on how it can be used to perform reflection on an object.
Note
A class, method, or a function is callable in Python, while class objects or variables are not callable.
In this example, we will check whether a class is callable, and if it returns true
, we will dynamically add a method to the class. To test the usage of the callable
function, we will first create a coupon class and name it SimpleCoupon
:
class SimpleCoupon:
pass
Let’s check whether the preceding class is callable:
callable(SimpleCoupon)
True
In the following code, we will create a function that generates another function if called. We will create a create_coupon
function that, in turn, creates a generate_coupon
function or method when called:
def create_coupon( product, product_category, brand, source, expiry_date, quantity:
...