这个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()作为第二个对象存在问题。当我运行时,我收到:这个Python代码有什么问题?
object1=a() TypeError: init() missing 2 required positional arguments: 'x' and 'y'
什么问题和如何消除这种情况? 谢谢,
答
当我运行代码,我得到以下异常:
TypeError: __init__() takes exactly 3 arguments (1 given)
你要通过x
和y
参数的构造函数或定义的默认值:
参数的构造函数:
object1 = a("name", "family")
默认值:
class a(object):
def __init__(self, x="", y=""):
...
你不能带走'a'的名字和家人。这太残酷了。 –
我想你必须为x和y设置默认值 –
请为你的问题使用更多的描述性标题。 “为什么我的代码不工作”不是一个好的标题。 –