打印类属性

时间:2018-10-11 13:16:28

标签: python class attributeerror

嗨,我有以下代码,我正在尝试打印对象位置,我是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 :(得分:0)

压痕是否会导致您出现问题?修复缩进后,我运行了您的代码,效果很好。您的__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())

答案 1 :(得分:0)

具有固定缩进:

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())