Python 中 message.guild.id if message.guild else None 这种表达式,还能写得更简洁吗?

150 天前
 drymonfidelia

另外

new_message = {
        'messageId': message.id,
        'authorId': message.author.id,
        'content': message.content,
        'guildId': message.guild.id if message.guild else None
}

如果我想让 authorId 在 message.author 为 None 时直接没有这项,有办法在定义这个 dict 就实现,而不是创建完再 del 或者创建完再加上吗?

1562 次点击
所在节点    Python
22 条回复
marcong95
149 天前
@abersheeran 这语言的名字不禁令我想套一个公式~~

Pythonista 是这样的。MíngShér 只要全身心投入到敲码就可以,可是 Pythonista 要考虑的事情就很多了。(手动狗头
GPTBase
149 天前
guild_id = getattr(message.guild, 'id', None),使用 getattr 函數:
getattr 函數可以用來直接從對象中獲取屬性,如果該屬性不存在則返回預設值。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1051063

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX