【问题标题】:Are there boolean variables in python 3? [duplicate]python 3中是否有布尔变量? [复制]
【发布时间】:2012-09-04 19:51:41
【问题描述】:

可能重复:
Boolean in Python

我似乎在 Python 3 中找不到对布尔变量的引用。python 中有布尔变量吗?

例如,我将如何在 python 中执行此操作:

bool checker;
while(checker = false)
{
//do this
}

...

谢谢

【问题讨论】:

标签: python boolean


【解决方案1】:

没有“布尔变量”之类的东西:Python 中的变量有类型,因为 Python 是一种动态类型语言。

但是,也有“布尔值”。 [仅] 两个这样的布尔值由 TrueFalse 命名。 REPL 显示:

>>> True.__class__
<class 'bool'>
>>> False.__class
<class 'bool'>

但是,== True== False 通常不需要它,并且通常被认为是不好的做法。此外,=始终是 Python(以及 C 和 Java)中的赋值运算符,而不是相等运算符。

【讨论】:

  • “Python 中的变量没有类型”。这是 Python 3 的新功能吗?在 2.7 中,我可以写 foo = False; print type(foo) 并返回 &lt;type 'bool'&gt;,这让我相信 foo 具有 bool 类型。
  • @Kevin 在 Python 3 中这似乎返回 &lt;class 'bool'&gt; 而不是类型...但 type(True) is bool 仍然成立
  • @Kevin variable 确实 not 有类型。 value 是评估 variable 的结果,确实有一个类型。 (强类型语言,如 C、Java 和 Haskell 属性类型 - 通常带有像 int i 这样的声明 - 到变量/绑定,因此限制了特定变量可以命名的值。)
  • @pst:Python 是强类型的。
  • @Wooble。它是。但是,Strong-typing(与弱类型相反)与Static-typing(与动态类型相反)不相关Python 是强类型动态类型
【解决方案2】:

首先,你不要在 python 中声明变量类型。考虑到这一点,您的示例很容易翻译:

checker = False
while not checker:
    # do this

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2023-04-01
    • 1970-01-01
    • 2015-05-25
    • 2011-10-19
    • 2023-02-01
    • 1970-01-01
    • 2018-11-26
    • 2023-01-19
    相关资源
    最近更新 更多