我的环境是: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);
}
}
}
函数才能这样做。
这是正确的,为什么?
答案 0 :(得分:2)
这些值不等于 False
,在布尔值中使用时,它们的行为为false上下文。
如果您绝对需要bool
或True
的值,那么转换为False
肯定是合适的,但在大多数情况下,这不是必需的。< / p>
答案 1 :(得分:1)
docs说:
可以测试任何对象的真值,以便在if或while条件下使用或在下面的布尔运算中使用
。
换句话说,这适用于a = ''
:
if a:
print "this won't print"
但a
仍未等于 False
。