0作为可选参数传递给类'方法,未找到参数

时间:2014-05-07 05:30:52

标签: python input parameters zero optional

我有一个类文件LinkedListADT.py,其中我有类LinkedList。我为这个类定义的一个方法如下:

def test(self, index=None):
    if index:
        print(str(index))
    else:
        print("Index not found")

现在,从我的其他文件(不是类)中我定义了以下函数:

def test():
    tester = LinkedListADT.LinkedList()
    tester.test(0)

正在打印的结果是"未找到索引" - 我的问题是,可以作为方法或常规函数的可选输入传递吗?

我对Python很陌生,我假设0被解释为假。无论是否是这种情况,我都可以使用一种解决方法吗?

1 个答案:

答案 0 :(得分:2)

正如您所猜测的那样,0被视为“虚假”。该文档列出了其他"falsey" values

print bool(0)
# False

但你可以像这样查看

def test(self, index=None):
    if index is not None:
        print(str(index))
    else:
        print("Index not found")

此程序确保输入不是None,如果不是,则提供用户(不论其真实性)。