gpt4 book ai didi

python - 无法阅读此 python 格式 ( , ) [ 。 . ]

转载 作者:太空狗 更新时间:2023-10-30 01:51:31 26 4
gpt4 key购买 nike

我是新手,正在阅读这样的代码片段:

...
proto = ('http', 'https')[bool(self.https)]
...

看起来这一行让 proto'http''https' 之间切换。

但是 ( , )[ .. ] 是什么意思?我该如何使用这种风格?

最佳答案

第二个元素(在括号中)是将在第一个元素上使用的索引。所以在这种情况下,您只有一个元组:

('http', 'https')

然后是一个 bool 值,表示是否设置了 self.https。如果为真,则值为 1,调用:

('http', 'https')[1]

将从元组中选择 https 值。这利用了 boolint 的子类这一事实,这可能被视为滥用 :)

In [1]: t = ('http', 'https')

In [2]: t[0]
Out[2]: 'http'

In [3]: t[1]
Out[3]: 'https'

In [4]: https_setting = True

In [5]: int(https_setting)
Out[5]: 1

In [6]: t[bool(https_setting)]
Out[6]: 'https'

In [7]: True.__class__.__bases__
Out[7]: (int,)

要了解这项技术的精彩用法,请查看 this 中的 2:14。视频(它本身也是一个很棒的视频!)。它索引字符串 ('^ ') 而不是元组,但概念是相同的。

关于python - 无法阅读此 python 格式 ( , ) [ 。 . ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18454541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com