Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中调用其他对象的方法?_Python_Python 2.7 - Fatal编程技术网

如何在Python中调用其他对象的方法?

如何在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

我是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 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你受不了了,哈哈哈,这是个人选择。我接受了,让我们看看别人;)