python:返回值问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python:返回值问题相关的知识,希望对你有一定的参考价值。
def skip(A, B):
while peek(A) == B: peek() 和 match() 是定义好的两个函数
match(A , B)
如上函数,运行下面的代码: A = [('stop', 'the')] B = 'stop'
print peek(A) == B # 得到 True
print match(A, B) # 得到('stop', 'the')
print skip(A, B) # 得到 None
判断显示Ture,执行 match() 有返回值, 为啥 skip() 的返回值是None 呢?????
1 返回一个值。
2 返回多个值。
现看看返回一个值的吧。
def firstvalue(a,b):
c = a + b
return c
print firstvalue(1,2)结果:3
再看看返回多个值的: 那怎么可以返回多个值呢,其他的语言一般调用函数的话,只能返回一个值,可能我不太熟悉所有的语言,我知道的语言只能返回一个值,而python可以返回多个值,感觉非常方便,发代码看下:
def secondvalue(a,b):
c = a + b
return (a,b,c)
x,y,z = secondvalue(1,2)
print 'x:',x,'y:',y,'z:',z 参考技术B
skip()函数没有return,所以返回值默认就是None
你想要的代码应该是这样吧:
def skip(A, B):if peek(A) == B:
return match(A , B)追问
match() 函数有return不行么,就是说函数要有返回值一定要自身有return语句,内部的函数由return没用,是这样么?
追答对的,return只作用于自身函数,和内部调用的函数没有一点关系的
本回答被提问者和网友采纳 参考技术C 你的skip()函数是干嘛的啊?为啥不应该返回None啊,要是执行skip(A,B)的时候返回的是空打印出来就是None啊!以上是关于python:返回值问题的主要内容,如果未能解决你的问题,请参考以下文章