这个Python代码有什么问题?

时间:2016-07-26 07:37:34

标签: python

class a(object):
    def __init__(self,x,y):
        self.name=x
        self.family=y
    def enter(self):
        self.name=input("enter name=")
        self.family=input("enter family=")
    def show(self):
        print("self.name",self.name,"enter family=",self.family)

object=a('sam','salam')
object.show()


object1=a()
object1.enter()
object1.show()

我想在此代码中调用并输入姓名和姓氏。当我使用o = a('sam','salam')作为第一个对象时,没有问题。虽然object1 = a()作为第二个对象存在问题。当我跑步时,我收到:

  

object1 = a()TypeError: init ()缺少2个必需的位置参数:   'x'和'y'

有什么问题,如何消除这个问题? 谢谢,

1 个答案:

答案 0 :(得分:0)

当我运行你的代码时,我得到以下异常:

  

TypeError:__ init __()需要3个参数(给定1个)

您必须将xy参数传递给构造函数或定义默认值:

构造函数的参数:

object1 = a("name", "family")

默认值:

class a(object):
    def __init__(self, x="", y=""):
    ...