MST

星途 面试题库

面试题:Python中**kwargs在类方法中的复杂应用

定义一个Python类,类中有一个方法,该方法接受**kwargs参数。方法要能根据传入kwargs中的不同键值对来动态调用不同的内部方法。比如,如果kwargs中有键为'operation'且值为'add',就调用类中的加法内部方法并传入kwargs中的其他数值参数;若值为'subtract',则调用减法内部方法。请实现这个类及相关方法。
26.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
class MathOperations:
    def add(self, num1, num2):
        return num1 + num2

    def subtract(self, num1, num2):
        return num1 - num2

    def perform_operation(self, **kwargs):
        operation = kwargs.get('operation')
        if operation == 'add':
            return self.add(kwargs.get('num1'), kwargs.get('num2'))
        elif operation =='subtract':
            return self.subtract(kwargs.get('num1'), kwargs.get('num2'))
        else:
            return "Unsupported operation"


你可以这样使用这个类:

math_obj = MathOperations()
result1 = math_obj.perform_operation(operation='add', num1=5, num2=3)
result2 = math_obj.perform_operation(operation='subtract', num1=5, num2=3)
print(result1)
print(result2)