gpt4 book ai didi

python - TypeError: __init__() 采用 0 个位置参数,但给出了 1 个

转载 作者:太空狗 更新时间:2023-10-30 01:42:47 25 4
gpt4 key购买 nike

我最近刚开始在我的学校写代码,我正在学习如何使用 Python。我们的老师给了我们这个任务:

  1. 创建一个类并将其命名为“CustomerInfo”。
  2. 创建一个没有参数(只有 self )的构造函数。
  3. 为名称、订单、数量和地址创建用户输入。
  4. 为名称、订单、数量和地址创建修改器方法。
  5. 为名称、订单、数量和地址创建访问器方法。
  6. 创建一个新的 CustomerInfo() 对象并将其命名为“customer1”。
  7. 打印客户信息。

这是我的代码:

class CustomerInfo:

def __init__ ():
self.name = theName
self.order = theOrder
self.quantity = theQuantity
self.address = theAddress

def setName( self, newName ):
self.Name = newName
def setOrder ( self, newModel ):
self.model = newModel
def setQuantity ( self, newQuantity ):
self.quantity = newQuantity
def setAddress (self, newAddress ):
self.address = newAddress

def getName ( self ):
return self.name
def getOrder ( self ):
return self.order
def getQuantity ( self ):
return self.quantity
def getAddress ( self ):
return self.address

name = input("Enter your name: ")
order = input("Enter your order: ")
quantity = int(input("Enter your quanity: "))
address = input("Enter your address: "))

customer1 = CustomerInfo()

print ( "Name: ", customer1.name)
print ( "Order: ", customer1.order)
print ( "Quanity: ", customer1.quantity)
print ( "Address: ", customer1.address)

但是,我得到了以下错误:

TypeError: __init__() takes 0 positional arguments but 1 was given

我按照评论中的描述将 (self) 添加到 __init__ 中,现在当我运行该模块时,输入有效,但是在我输入 name、order 之后,数量,地址,结果是这样的:

Traceback (most recent call last):
File line 32, in <module>
customer1 = CustomerInfo()
File line 4, in __init__
self.name = theName
NameError: name 'theName' is not defined

最佳答案

__init__ 方法需要在 Python 中接受 self,因为它是一个方法。

改变:

def __init__ ():

收件人:

def __init__ (self):

关于python - TypeError: __init__() 采用 0 个位置参数,但给出了 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25902690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com