簡體   English   中英

如何使用函數返回的列表,作為 Python 中的函數參數

[英]How to use returned list from function, as function args in Python

    @property
    def randomcolours(self):
        return [int(x * 255) for x in colorsys.hsv_to_rgb(random.random(), 1, 1)]

    @tasks.loop(seconds=3, count=15)
    async def rainbow_embed(self, _, t, d):
        await self.bot.ini.edit(embed=discord.Embed(title=t, description=d, colour=discord.Colour.from_rgb(*self.randomcolours())))

我試圖將randomcolours的 3 個返回值作為colour kwarg 中的參數傳遞,但我收到TypeError: 'list' object is not callable ,我該怎么做?

randomcolours是一個@property ,所以喜歡的表達self.randomcolours會調用該函數並評價到列表中。 因此,當您像self.randomcolours()一樣調用它時,您實際上是在調用從屬性返回的列表。 無法調用列表,因此您會收到錯誤消息。

怎么解決:

  • 不要調用列表: discord.Colour.from_rgb(*self.randomcolours)
  • 或者不要讓randomcolours成為一個屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM