Печать атрибута класса - PullRequest
       7

Печать атрибута класса

0 голосов
/ 11 октября 2018

Привет, у меня есть следующий код, и я пытаюсь напечатать положение объекта, я совершенно новичок в python и кодировании, поэтому мне нужно немного помочь!Это код, который у меня есть;

class object:
def __init__(self, x, y, z, vx, vy, vz):
    self.x = x
    self.y = y
    self.z = z
    self.vx = vx
    self.vy = vy
    self.vz = vz

    def position(self):
        return '{} {} {}'.format(self.x, self.y, self.z)


obj_1 = object(random.random(), random.random(), random.random(), 0, 0, 0)


print(obj_1.position())

Я получаю следующее сообщение об ошибке:

AttributeError: 'object' object has no attribute 'position'

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

С фиксированным отступом:

class object:
    def __init__(self, x, y, z, vx, vy, vz):
        self.x = x
        self.y = y
        self.z = z
        self.vx = vx
        self.vy = vy
        self.vz = vz

    def position(self):
        return '{} {} {}'.format(self.x, self.y,self.z)


obj_1 = object(random.random(), random.random(),random.random(), 0, 0, 0)


print(obj_1.position())
0 голосов
/ 11 октября 2018

Отступы вызывают у вас проблемы?Я исправил твой код после исправления отступа, и он работал нормально.Ваша __init__ функция просто требует отступа.

import random

class object:

    def __init__(self, x, y, z, vx, vy, vz):
        self.x = x
        self.y = y
        self.z = z
        self.vx = vx
        self.vy = vy
        self.vz = vz

    def position(self):
        return '{} {} {}'.format(self.x, self.y, self.z)


obj_1 = object(random.random(), random.random(), random.random(), 0, 0, 0)


print(obj_1.position())
...