关于真实与布尔的真假

时间:2016-10-12 02:14:22

标签: python

我的环境是:ubuntu 16.04& python 2.7.12。

我阅读了文档,发现''()[]{}None都被False视为Python 2.7.12 (default, Jul 1 2016, 15:12:24) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> a='' >>> a==False False >>> a==True False >>> a=bool(a) >>> a==False True >>> >>> >>> >>> a="abcdefg" >>> a==True False >>> a==False False >>> a=bool(a) >>> a==True True >>> 默认值。

但我不明白以下示例中的内容:

bool()

我希望得到正确的结果,看来我必须使用 public Form1() { InitializeComponent(); int x = 5; var buffor = new Queue<string>(x); foreach (var headerLine in File.ReadLines("C:/NewMap.csv").Take(1)) { foreach (var headerItem in headerLine.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)) { dataGridView1.Columns.Add(headerItem.ToString().Trim(), headerItem.ToString()); } } var log = new StreamReader("C:/NewMap.csv"); while (!log.EndOfStream) { string line = log.ReadLine(); if (buffor.Count >= x) buffor.Dequeue(); buffor.Enqueue(line); } foreach (var line in buffor) { if (line != string.Empty || line != string.Empty) { dataGridView1.Rows.Add(line); } } } 函数才能这样做。 这是正确的,为什么?

2 个答案:

答案 0 :(得分:2)

这些值不等于 False,在布尔值中使用时,它们的行为为false上下文。

如果您绝对需要boolTrue的值,那么转换为False肯定是合适的,但在大多数情况下,这不是必需的。< / p>

答案 1 :(得分:1)

docs说:

  

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

换句话说,这适用于a = ''

if a:
    print "this won't print"

a仍未等于 False