Привет, у меня есть следующий код, и я пытаюсь напечатать позицию объекта, я совершенно новичок в 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'
Является ли отступы причиной проблемы? Я запустил ваш код после исправления отступов, и он работал нормально. Функция __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())
С фиксированным отступом:
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())
class MyClass(object)
и затемobj_1 = MyClass(...)
;)