0作为可选参数传递给类“”方法,找不到param

2024-06-17 13:28:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类文件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)

打印的结果是“找不到索引”--我的问题是,0可以作为可选输入传递给方法或正则函数吗

我对Python非常陌生,我假设0被解释为false。不管是不是这样,有没有解决办法我可以使用


Tags: 文件方法函数pytestselfnoneindex
1条回答
网友
1楼 · 发布于 2024-06-17 13:28:16

正如您所猜测的,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,如果不是,则由用户提供(不管其真实性如何)

相关问题 更多 >