开发者社区> 问答> 正文

可以在Python中以'if'的语法在布尔值内使用路径吗?

我遇到了使用以下语句的图像处理代码:

#args is a dictionary     
if not args.get("video",False)

get()方法返回:

如果key在字典中,则指定key的值。

如果找不到密钥并且未指定值,则为None。

如果未找到键并指定了值,则为value。

但是字典中有一个关键的“视频”,它是视频文件的路径,以后以这种方式使用:

  if args.get("video")

因此args.get(“ video”)会提供文件的路径。我的问题是,这是否是'if'的有效语法,还是我遗漏了某些东西?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 13:59:00 556 0
1 条回答
写回答
取消 提交回答
  • 是的,这是有效的。

    只要不是“”str就会返回True

    根据文档-真值测试:

    可以测试任何对象的真值,以在if或while条件中使用或用作以下布尔运算的操作数。

    默认情况下,除非对象的类定义了布尔型()方法来返回False或len()方法来返回零,否则该对象被认为是true 。以下是大多数被认为是错误的内置对象:

    •定义为false的常量:NoneFalse

    •任何数字类型的零:00.00jDecimal(0)Fraction(0,1)

    •空序列和集合:''()[]{}set()range(0)

    回答来源:stackoverflow

    2020-03-24 14:19:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载