To calculate the number of local variables in a particular function we have a dedicated built-in function. Let us take a look at it
def addition_num(num1, num2):num1 += num2return num1def subtraction_num(num1, num2):num1 -= num2return num1def mul_num(num1, num2):num1 *= num2return num1def division_num(num1, num2):num1 /= num2return num1def default(num1, num2):return "Incorrect day"switcher = {1: addition_num,2: subtraction_num,3: mul_num,4: division_num,}def switch(operation, num1, num2):return switcher.get(operation, default)(num1, num2)print('''You can perform operation1. Addition2. Subtraction3. Multiplication4. Division5. Module ''')# Take input from userchoice = int(input("Select operation from 1,2,3,4 : "))num1 = int(input("Enter first number: "))num2 = int(input("Enter second number: "))print ("Output:",switch(choice, num1, num2))print("The number of local variables in addition_num function are :",addition_num.__code__.co_nlocals)print("The number of local variables in subtraction_num function are :",subtraction_num.__code__.co_nlocals)print("The number of local variables in mul_num function are :",mul_num.__code__.co_nlocals)print("The number of local variables in division_num function are :",division_num.__code__.co_nlocals)print("The number of local variables in default function are :",default.__code__.co_nlocals)
Output:
You can perform operation
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Module
Select operation from 1,2,3,4 : 1
Enter first number: 2
Enter second number: 3
Output: 5
The number of local variables in addition_num function are : 2
The number of local variables in subtraction_num function are : 2
The number of local variables in mul_num function are : 2
The number of local variables in division_num function are : 2
The number of local variables in default function are : 2
Explanation:
Here we simply used the code.co_nlocals to calculate the number of local variables in the particular function. All we have to do is add the name of the function at the beginning of the code.co_nlocals