<分区>
我正在从 MATLAB 切换到 Python 和 numpy,我想知道定义类方法的选项和函数到类字段(实例变量)的选项之间是否有任何区别?这是示例:
class MyClass:
def __init__(self, a):
self.a=a #some variable
def add(self,b):
return self.a+b
对比
class MyClass:
def __init__(self, a):
self.a=a #some variable
self.add = lambda b: self.a+b
当我打电话时,它在两种情况下都有效
my_object=MyClass(2)
print(my_object.add(2)) #prints 4
这两种方法之间有什么区别吗?任何最佳实践/缺点? 对我来说,第一个感觉更“适当的 OOP”,但第二个感觉更灵活。或者,也许,由于 Python 的底层工作方式,定义是相同的?