Python 调试测试代码

Python 调试测试代码,python,debugging,Python,Debugging,我写这篇文章只是为了测试“Property”函数。但是,我在get_name函数中遇到了一个bug。我非常感谢你的帮助 #The Property Critter #Using New Classes vs Old Classes: class Critter (object): def __init__ (self, name): print "A new critter has been born." self.__name = name

我写这篇文章只是为了测试“Property”函数。但是,我在get_name函数中遇到了一个bug。我非常感谢你的帮助

#The Property Critter
#Using New Classes vs Old Classes:

class Critter (object):
    def __init__ (self, name):
        print "A new critter has been born."
        self.__name = name

    def get_name (self):
        return self.__name

    def set_name (self, new_name):
        if new_name == "":
            print "The name can't be blank. Ass."
        else:
            self.__name = new_name
            print "Namt change successful."

name = property (get_name, set_name)

crit = Critter ("Pooch Dog")
print crit.name
crit.name = "Mad Dog"
print crit.name

你需要缩进你的
name=property(get\u name,set\u name)
,以便它成为你的生物类的一部分:

class Critter (object):
    def __init__ (self, name):
        print "A new critter has been born."
        self.__name = name

    def get_name (self):
        return self.__name

    def set_name (self, new_name):
        if new_name == "":
            print "The name can't be blank. Ass."
        else:
            self.__name = new_name
            print "Namt change successful."

    name = property (get_name, set_name)

crit = Critter ("Pooch Dog")
print crit.name
crit.name = "Mad Dog"
print crit.name

你能把你的代码贴在这里而不是其他网站上吗?我看不出这个问题。。。也许
name=property(get\u name,set\u name)
缺少缩进,或者你粘贴代码的站点改变了它?@mu对我来说太明显了
get\u name
set\u name
不在范围内。很抱歉,没有在此处发布代码。每当我试图将代码直接发布到这里时,缩进就会变得混乱。还有其他方法吗?@Louis93:不要使用制表符,它们是敌人,因此无法处理它们:/如果你的文本编辑器很好,它可以选择将制表符转换为空格。