【发布时间】:2015-10-29 21:49:05
【问题描述】:
基本上我定义了一个类,我试图在打印语句中显示它的属性编辑:
class Player(object):
""" Default Class for the player """
def __init__(self, name):
self.name = name
self.class_type = '[CLASS]'
self.level = 1
self.health = 10
self.maxhealth = self.level * 10
self.attack = 0
self.defence = 0
self.experience = 0
self.weapon = ''
self.shield = ''
self.player_y = 9
self.player_x = 39
print('LV: {level} EXP: {exp} HP: {health}/' +
'{maxhealth}'.format(**char))
我做错了吗?我只是想找到一种更有效的方式来显示类的属性,而不是做......
print(character.name + ': Weight: ' + character.weight + ' Age: ' +
character.age + '...')
有什么想法吗?
【问题讨论】:
-
你在
__init__中忘记了self -
-
self表示self.name = name等,因为分配变量的方式仅限于__init__方法的范围,而不是对象本身的实例。 -
@user3100115 你说得对,我在这里忘记了,但我在我的实际源代码中有它,这对我来说太匆忙了。
-
@Voks - 请将您的代码复制粘贴到您的问题中。请不要在您的问题中重新输入、总结或编写新代码。请复制粘贴您的实际代码以及您的实际错误消息。
标签: python string class format keyerror