如果a = str(整数),print(len(a))和return len(a)在函数中的作用相同吗?

时间:2019-05-18 02:56:54

标签: python python-3.x

我是编程新手,并且刚刚学习了python函数。我不明白为什么print(len(str))在功能上不能与return len(str)相同。

对于函数的最后一个语句,我尝试了print和return,并且对我对len()的理解感到困惑。我需要一些指导,谢谢!也许有人可以指导我如何进一步完善自己的基础,因为我还是编程新手。谢谢!!

def numDigits(n):
    #return number of digits in an integer
    str_digits = str(n)
    print(len(str_digits))

numDigits(833)

如果我更改

printreturn len(str_digits)

numDigits(833)print(numDigits(833))

我得到了预期的答案。

我期望的是

3

实际结果:

3
None
1
2
4
3

1 个答案:

答案 0 :(得分:2)

在第一种情况下,numDigits不是return函数中的值,而只能在函数内部打印

def numDigits(n):
    #return number of digits in an integer
    str_digits = str(n)
    print(len(str_digits))

print(numDigits(833))

这里的输出是

3
None

3来自printNone来自函数,当您print时,它会打印None

如果要返回,则需要在函数末尾添加return len(str_digits)之类的return语句

def numDigits(n):
    #return number of digits in an integer
    str_digits = str(n)
    print(len(str_digits))

    #Return statement
    return len(str_digits)

print(numDigits(833))

现在输出为

3
3

现在第一个3来自print,第二个3来自打印numDigits返回的内容,即3

相关问题