我正在学习类和成员函数,我想知道实现它的正确方法是什么:
class window:
def __init__(self,x,y,width,height):
self.x=x
self.y=y
self.width=width
self.height=height
def shift(self,shift_x,shift_y):
self.x=self.x+shift_x
self.y=self.y+shift_y
def divide(self):
window A
A.x=(self.x)/2
A.y=(self.y)/2
A.width=(self.width)/2
A.height=(self.height)/2
return A
如何正确实现除法功能?我希望它返回同一个类?我知道我在C ++中预定义了A,但我不确定这是否必要或者是什么是正确的解决方法,因为我这样做会出错
答案 0 :(得分:3)
看起来你想要的是:
def divide(self):
newWindow = window(self.x/2, self.y/2, self.width/2, self.height/2)
return newWindow
要创建一个类的实例,可以像window(...)
一样调用它,传递它需要的任何参数。
您应该阅读the Python tutorial以熟悉Python的基础知识。
答案 1 :(得分:1)
A = window(self.x/2, self.y/2, self.width/2, self.height/2)
与在课堂外创建对象的方式完全相同。
答案 2 :(得分:1)
使用my_instance = MyClass()
实例化一个类。您可能应该查看有关类和对象的官方Python教程部分:http://docs.python.org/2/tutorial/classes.html