Python函数参数:未定义NameError argumentmant

时间:2017-12-07 16:34:50

标签: python

我是Python新手。我想调用一个函数来检测excel表中的空值并将“Fail”传递给变量stat。

def checkBlank(tb):
    book=xlrd.open_workbook(reportFile)
    sheet = book.sheet_by_name(tb)
    s= "Pass"
    for i in range(sheet.nrows):
        row = sheet.row_values(i)  
        for cell in row:                
            if  cell =='':
                s="Fail"
    return s
print checkBlank('Sheet1')

以上代码将返回“失败” 但是下面的代码将给出:NameError:名称'stat'未定义

def checkBlank(tb,stat):
    book=xlrd.open_workbook(reportFile)
    sheet = book.sheet_by_name(tb)
    s= "Pass"
    for i in range(sheet.nrows):
        row = sheet.row_values(i)  
        for cell in row:                
            if  cell =='':
                s="Fail"
print checkBlank('Sheet1', stat)
print stat

如果函数找到空单元格,如何为stat分配“Fail”?

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试将变量传递给函数以用作返回值。这不是Pythonic,一般不会起作用。相反,你的函数应该返回一个值,你应该将该值赋给一个新的“变量”。

delete

在Python中,你不想尝试编写一个通过引用调用的函数,因为Python中的变量不像它们在C中那样存在。相反,我们拥有的是名称更类似于占位符,可用于检索对象This article和许多其他Stack Overflow答案更深入地探讨了这一点。

相关问题