Skip to main content
 首页 » 编程设计

python之调用方法的最佳方式之Python

2025年05月04日10sxdcgaq8080

我有这两个类,但我想知道在类中调用函数的最佳方式是什么。

我喜欢将这个与属性一起使用:

class myclass(): 
    def myfunction(self): 
        return self.x + self.y 
 
z = myclass() 
z.x = 4 
z.y = 3 
print z.myfunction() 

但是不知道对不对。或者我应该使用这个而不是最后一个?

class myclass(): 
    def myfunction(self,x,y): 
        return x + y 
 
z = myclass() 
print z.myfunction(4,3) 

请您参考如下方法:

这取决于。 x 和 y 是 myclass() 状态的一部分还是它们是与类交互的外部事物?

如果x 和y 不是myclass() 实例状态的一部分,它们不应该存储在属性中。它们将作为参数传入。

假设您有一个汽车对象,您需要知道如果汽车与其他物体发生碰撞会发生什么情况。 “其他东西”不是汽车的一部分,因此您可以调用 car.collide() 方法并将“其他东西”作为参数传入:

car.collide(something_else) 

但是碰撞时的汽车速度,以及汽车的质量,都是汽车对象状态的一部分,所以它们是属性:

car.speed = 80 
car.mass = 1200 
car.collide(something_else)