“ or {}”是否可以像javascript一样在python中工作?

奥利维尔·庞斯(Olivier Pons)

这是我的第一个代码:

def __init__(self, attrs=None):
    if not attrs:
        attrs = {}
    attrs['data-select2-json'] = "true"

然后我尝试像在JavaScript中那样:

def __init__(self, attrs=None):
    attrs = attrs or {}
    attrs['data-select2-json'] = "true"

它似乎可以工作,但是我想知道:“或{}”在python中是否像在javascript中一样工作?(艰苦的日子!),它和if我的第一个代码的简单“ 一样快吗?

敬畏的

根据文档

表达式x or y首先计算x; 如果x为true,则返回其值;否则,y将求值并返回结果值。

这意味着您的两个代码都执行相同的操作:

if not attrs:
    attrs = {}

评估attrsattrs为true时-不执行任何操作,否则分配{}attrs

attrs = attrs or {}

评估attrsattrs为true时-分配attrsattrs(不确定优化),否则分配{}attrs


在JavaScript中,运算符x || y还会xx计算结果为true返回y否则返回标准引用

LogicalORExpressionLogicalORExpression || LogicalANDExpression

  1. 我们lref要评估的结果LogicalORExpression
  2. 我们lvalGetValue(lref)
  3. 我们lboolToBoolean(lval)
  4. ReturnIfAbrupt(lbool)
  5. 如果lbool为true,则返回lval
  6. 我们rref要评估的结果LogicalANDExpression
  7. 返回GetValue(rref)

但是,您应该注意在JavaScript中转换为布尔值

> Boolean({})
true
> Boolean([])
true

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

bluebird 中是否有任何方法可以像 async.waterfall 一样工作

来自分类Dev

Android中的LocationListener是否像循环一样工作?

来自分类Dev

可以像Javascript一样压缩Python代码吗?

来自分类Dev

python中的类是否可以像基于传递的参数的指定类一样表现?

来自分类Dev

是否有Perl像JavaScript中的翻译一样?

来自分类Dev

是否可以将 bspwm 绑定更改为像 tmux 绑定一样工作?

来自分类Dev

是否可以像CodeIgniter一样离线安装Laravel?

来自分类Dev

是否可以像对.vim一样更改vrapper的设置?

来自分类Dev

是否可以像对.vim一样更改vrapper的设置?

来自分类Dev

VisualStudio是否可以像Eclipse一样自动完成

来自分类Dev

是否可以像实际的用户交互一样,执行JavaScript操作来更改文档的activeElement?

来自分类Dev

Lumen中的任务计划是否像Laravel中一样工作?

来自分类Dev

Spark Streaming / Spark是否像main()方法中的while循环一样工作?

来自分类Dev

DIV如何像Javascript中的另一个元素一样工作?

来自分类Dev

DIV如何像Javascript中的另一个元素一样工作?

来自分类Dev

是否可以像字符串一样将json包装在json字段中?

来自分类Dev

是否可以像Matlab一样在C ++中初始化向量?

来自分类Dev

是否可以像即时一样在C#Interactive(REPL)中自动输出值?

来自分类Dev

是否可以像CSS一样将字体文件嵌入到html中?

来自分类Dev

是否可以在Windows中显示像摄影机一样的视频选择器?

来自分类Dev

xcode中是否有任何功能可以像android中一样

来自分类Dev

是否可以像Yii和CakePHP一样在codeigniter中创建CRUD生成器?

来自分类Dev

像RxJava / Reactor一样,在Akka中是否可以从Source => Source函数创建Flow?

来自分类Dev

是否可以在Windows中显示像摄影机一样的视频选择器?

来自分类Dev

是否可以像信用卡一样在 Paypal 中阻止金额

来自分类Dev

在Windows上,是否有一种方法可以双击Shift键以使其像Capslock一样工作,就像移动键盘一样?

来自分类Dev

如何使sed regex语法像python或javascript一样工作?

来自分类Dev

Python:And or 条件不能像 if else 一样正常工作

来自分类Dev

可以像数组一样访问Javascript对象吗?

Related 相关文章

  1. 1

    bluebird 中是否有任何方法可以像 async.waterfall 一样工作

  2. 2

    Android中的LocationListener是否像循环一样工作?

  3. 3

    可以像Javascript一样压缩Python代码吗?

  4. 4

    python中的类是否可以像基于传递的参数的指定类一样表现?

  5. 5

    是否有Perl像JavaScript中的翻译一样?

  6. 6

    是否可以将 bspwm 绑定更改为像 tmux 绑定一样工作?

  7. 7

    是否可以像CodeIgniter一样离线安装Laravel?

  8. 8

    是否可以像对.vim一样更改vrapper的设置?

  9. 9

    是否可以像对.vim一样更改vrapper的设置?

  10. 10

    VisualStudio是否可以像Eclipse一样自动完成

  11. 11

    是否可以像实际的用户交互一样,执行JavaScript操作来更改文档的activeElement?

  12. 12

    Lumen中的任务计划是否像Laravel中一样工作?

  13. 13

    Spark Streaming / Spark是否像main()方法中的while循环一样工作?

  14. 14

    DIV如何像Javascript中的另一个元素一样工作?

  15. 15

    DIV如何像Javascript中的另一个元素一样工作?

  16. 16

    是否可以像字符串一样将json包装在json字段中?

  17. 17

    是否可以像Matlab一样在C ++中初始化向量?

  18. 18

    是否可以像即时一样在C#Interactive(REPL)中自动输出值?

  19. 19

    是否可以像CSS一样将字体文件嵌入到html中?

  20. 20

    是否可以在Windows中显示像摄影机一样的视频选择器?

  21. 21

    xcode中是否有任何功能可以像android中一样

  22. 22

    是否可以像Yii和CakePHP一样在codeigniter中创建CRUD生成器?

  23. 23

    像RxJava / Reactor一样,在Akka中是否可以从Source => Source函数创建Flow?

  24. 24

    是否可以在Windows中显示像摄影机一样的视频选择器?

  25. 25

    是否可以像信用卡一样在 Paypal 中阻止金额

  26. 26

    在Windows上,是否有一种方法可以双击Shift键以使其像Capslock一样工作,就像移动键盘一样?

  27. 27

    如何使sed regex语法像python或javascript一样工作?

  28. 28

    Python:And or 条件不能像 if else 一样正常工作

  29. 29

    可以像数组一样访问Javascript对象吗?

热门标签

归档