如何在Python中调用其他对象的方法?
我是python新手,我有一个小问题,我有两个类,它写到:set_gyro_angle()正好取1个参数(给定2个),我如何从机器方法调用set_gyro_angle()方法如何在Python中调用其他对象的方法?,python,python-2.7,Python,Python 2.7,我是python新手,我有一个小问题,我有两个类,它写到:set_gyro_angle()正好取1个参数(给定2个),我如何从机器方法调用set_gyro_angle()方法 class Gyro(object): """gyroskop senzor""" def __init__(self,gyro_start_angle = 0): self.gyro_angle = 0 def get_gyro_angle(): return s
class Gyro(object):
"""gyroskop senzor"""
def __init__(self,gyro_start_angle = 0):
self.gyro_angle = 0
def get_gyro_angle():
return self.gyro_angle
def set_gyro_angle(angle):
self.gyro_angle = angle
return 0
class Maschine(object):
def __init__(self, state = "normal",length = 10,width = 15):
self.length = length
self.width = width
self.gyro = Gyro()
def setPoint(self,alpha):
self.gyro.set_gyro_angle(alpha)
return 0
主要内容:
maschine = Maschine()
maschine.setPoint()
如果要创建实例方法,则需要添加一个额外的参数,该参数将是指向实例的指针。通常是
self
:
class Gyro(object):
"""gyroskop senzor"""
def __init__(self,gyro_start_angle = 0):
self.gyro_angle = 0
def get_gyro_angle(self):
return self.gyro_angle
def set_gyro_angle(self, angle):
self.gyro_angle = angle
return 0
我想你希望设定点是这样的:
def setPoint(self, alpha):
self.gyro.set_gyro_angle(alpha)
如果要创建实例方法,则需要添加一个额外的参数,该参数将是指向实例的指针。通常是self
:
class Gyro(object):
"""gyroskop senzor"""
def __init__(self,gyro_start_angle = 0):
self.gyro_angle = 0
def get_gyro_angle(self):
return self.gyro_angle
def set_gyro_angle(self, angle):
self.gyro_angle = angle
return 0
我想你希望设定点是这样的:
def setPoint(self, alpha):
self.gyro.set_gyro_angle(alpha)
所有实例方法都应该在其他方法之前有另一个参数,self
;这是实例本身,并自动传递:
def set_gyro_angle(self, angle):
或者,跳过setter:
self.gyro.gyro_angle = alpha
所有实例方法都应该在其他方法之前有另一个参数,self
;这是实例本身,并自动传递:
def set_gyro_angle(self, angle):
或者,跳过setter:
self.gyro.gyro_angle = alpha
但是,您需要通过添加self参数作为类方法的第一个参数来修复代码
但是,您需要通过添加self参数作为类方法的第一个参数来修复代码。请更正类名Maschine()
。它不应该只是Machine()
。你好像有打字错误谢谢,那是个错误typo@MaNKuR你受不了了,哈哈哈,这是个人选择。我接受了,让我们看看别人;)请更正类名Maschine()
。它不应该只是Machine()
。你好像有打字错误谢谢,那是个错误typo@MaNKuR你受不了了,哈哈哈,这是个人选择。我接受了,让我们看看别人;)