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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何檢測空物體?

如何檢測空物體?

尚方寶劍之說 2021-11-09 14:52:33
這是一個(gè)關(guān)于如何檢測對(duì)象是否為空的通用問題。我將一個(gè)變量聲明為一個(gè)對(duì)象:description = discord.Embed()通過一個(gè)可能會(huì)或可能不會(huì)將參數(shù)傳遞給對(duì)象的方法,即: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我希望僅當(dāng)它不為空時(shí)才顯示描述:if description: client.send_message(message.channel, embed=description)然而,上面的代碼似乎不起作用,無論它是空的還是其他的,我的消息都會(huì)顯示出來。我該怎么辦?
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊

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


import discord

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

以便Embed對(duì)象只有在標(biāo)題非空時(shí)才被認(rèn)為是真實(shí)的,并且您的代碼:


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

會(huì)按預(yù)期工作。


查看完整回答
反對(duì) 回復(fù) 2021-11-09
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

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

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

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

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

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


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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