我在python中编码。我的问题是我在函数中有一个变量strGUID
然后有一个if控制流我要检查变量是否已分配,如果是,则检查它的某些条件。澄清一段代码如下:
for line in data_list:
if line.find('Project')!=-1
strGUID = line.split(',')[2].strip('" ')
if flag == False and line.find(strGUID)==-1 :
print 'wrote line : ', line
在上面的代码中我有时会说错误
变量strGUID在赋值之前被访问。
所以我想要做的是检查第二个if循环,如果定义了变量strGUID,然后检查条件:line.find(strGUID)==-1
。像
if flag == False and (if strGUID then line.find(strGUID)==-1) :
PS:这只是为了缩短代码并使其变得聪明,我知道如果检查代码我可以编写更长的代码,所以要求这不是目的。
澄清:如果你想建议你初始分配strGUID = None的答案,然后在第二个if循环中检查它,我想在strGUID为None时执行print。因此,我正在寻找一种定义条件的智能方法。即如果strGUID = None或strGUID不是None并且line.find(strGUID)== - 1
我希望执行print编辑: 基本上我当前的代码有第二个if循环:
if flag == False and (strGUID is None or (strGUID is not None and line.find(strGUID)==-1) ) :
我想检查是否有一种明智的方法来缩短它。
答案 0 :(得分:2)
执行此操作的惯常方法是在开始时设置strGUID = None
,然后检查
if flag == False and (strGUID is not None and line.find(strGUID) == -1):
如果第一部分(strGUID is not None
)为false,则永远不会评估第二部分(line.find(strGUID) == -1
)。