Skip to main content
 首页 » 编程设计

python之这个 python 语法是什么意思

2025年05月04日15lexus

我正在查看一个名为 django-cas 的库的一些代码并发现了这一行:

protocol = ('http://', 'https://')[request.is_secure()] 

这行到底是什么意思/做什么?

请您参考如下方法:

它根据 bool 结果选择两个值之一。

  • ('http://', 'https://')是一个元组
  • request.is_secure() 产生 bool 结果,True 或 False。
  • bool 值是 int 的子类,True == 1,False == 0。

因此,如果请求是安全的(使用 SSL 加密,通过 https),protocol 也将设置为 https:// .

较新版本的 Python(2.5 及更高版本)允许 conditional expression ,这将更具可读性:

protocol = 'https://' if request.is_secure() else 'http://'