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

标签 python python-2.7 class oop methods

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

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

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)

最佳答案

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

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

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

car.collide(something_else)

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

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

关于python - 调用方法的最佳方式 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28776197/

相关文章:

python - Opencv 3.0 - 模块对象没有属性 'xfeatures2d'

python - 合并到不同的词典

python - 为 Windows 上的 Web 开发设置 Python

python - 是否可以抓取未分配给变量的实例化对象?

python - 了解线程

python - 在 Django 1.5 中将电子邮件设置为用户名

python - 如何使用 pandas 在标题行中应用过滤器

python - 为什么分配 print 的结果是无效的语法?

java - java中GregorianCalendar类和Calendar类的区别?

java - 从对象中的对象调用对象中的方法