打印 class 属性

Printing a class attribute

您好,我有以下代码,我正在尝试打印对象位置,我对 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())