Python 为什么这个类要使用;“自我”;作为一个位置参数?

Python 为什么这个类要使用;“自我”;作为一个位置参数?,python,Python,我编写了以下代码来向Marketplace类添加列表,但它抛出了一个错误,即.add\u Listing()缺少一个位置参数,而add\u Listing将self和new\u Listing作为参数。我试图删除self以查看发生了什么,但它抛出了另一个错误 看一看: class Marketplace: def __init__(self): self.listings = [] def add_listing(self, new_listing):

我编写了以下代码来向
Marketplace
类添加列表,但它抛出了一个错误,即
.add\u Listing(
)缺少一个位置参数,而
add\u Listing
self
new\u Listing
作为参数。我试图删除self以查看发生了什么,但它抛出了另一个错误

看一看:

class Marketplace:
    def __init__(self):
        self.listings = []
    def add_listing(self, new_listing):
        self.listings.append(new_listing)
    def remove_listing(self, listing):
        self.listings.remove(listing)
    def show_listings(self):
        for listing in self.listings:
            print(listing)

class Client:
    def __init__(self, name, location, is_museum):
        self.name = name
        self.location = location
        self.is_museum = is_museum
    def sell_artwork(self, artwork, price):
        if artwork.owner == self:
            listed_artwork = Listing(artwork, price, self)
            veneer.add_listing(listed_artwork)

class Listing:
    def __init__(self, art, price, seller):
        self.art = art
        self.price = price
        self.seller = seller
    def __repr__(self):
        return '{}: {}'.format(self.art.title, str(self.price))
客户机上调用
.sell\u artwork
时,会抛出以下错误:
spine
是我在此代码中使用的
Marketplace
的一个实例)

Traceback(最近一次调用last):文件“script.py”,第45行,在
edytta.出售艺术品(有曼陀林的女孩,'600万美元)'
文件“script.py”,第30行,在sell_artwork中
单板。添加单板(单板艺术品)
TypeError:add_listing()缺少1个必需的位置参数:“new_listing”

您是否编写了
spine=Marketplace
而不是
spine=Marketplace()
?(而且,
spine
可能应该是方法的参数,而不是
客户机
类所依赖的全局变量。)@chepner谢谢,我调用了Marketplace而没有括号,这就解决了问题!您是否编写了
spine=Marketplace
而不是
spine=Marketplace()
?(另外,
spine
应该是该方法的参数,而不是
客户机
类所依赖的全局变量。)@chepner谢谢您,我调用了Marketplace而没有括号,这就解决了问题!