第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢測空物體?

如何檢測空物體?

尚方寶劍之說 2021-11-09 14:52:33
這是一個關(guān)于如何檢測對象是否為空的通用問題。我將一個變量聲明為一個對象:description = discord.Embed()通過一個可能會或可能不會將參數(shù)傳遞給對象的方法,即:def my_function(x, y, z):    ...some code goes here...    if x == "some variable":         description = discord.Embed(title="X", desc="Y + z")        return description    else:        description = discord.Embed()        return description我希望僅當它不為空時才顯示描述:if description: client.send_message(message.channel, embed=description)然而,上面的代碼似乎不起作用,無論它是空的還是其他的,我的消息都會顯示出來。我該怎么辦?
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻1725條經(jīng)驗 獲得超8個贊

您可以覆蓋以下__bool__方法discord.Embed:


import discord

discord.Embed.__bool__ = lambda self: bool(self.title)

以便Embed對象只有在標題非空時才被認為是真實的,并且您的代碼:


if description: client.send_message(message.channel, embed=description)

會按預期工作。


查看完整回答
反對 回復 2021-11-09
?
浮云間

TA貢獻1829條經(jīng)驗 獲得超4個贊

Python 對empty(evaluates to False)的定義基于通用對象,而不是您腦海中的任何東西。如果您控制類(在本例中您不控制),您可以添加一個isEmpty方法來實現(xiàn)您自己的想法。

但是,由于您使用的是完善的類,因此您需要通讀文檔以了解如何針對的“空”的想法“提出”正確的問題。您的變量description絕對不是空的:它在對象字段等中有您的初始化信息。默認定義是對象描述是否為None。

我從您的使用情況推斷您可能想查看是否有任何未完成的消息。如果是這樣,我想你可以用

if description.messages:
    client.send_message(message.channel, embed=description)

messages是一個雙端隊列,它的內(nèi)在isEmpty方法可以做你想做的事。


查看完整回答
反對 回復 2021-11-09
  • 2 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號