python函数的返回值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数的返回值?相关的知识,希望对你有一定的参考价值。

def hello():
print('hello python')
temp = hello()
print(temp)

个人理解的是:

1、生成函数hello

2、把函数的值赋值给temp变量

3、打印temp变量

问题:为什么打印temp变量的时候显示的是“none”

是2这里 我理解错了吗?不是赋值变量,而是临时调用函数hello,执行完2之后就把变量temp的值清空了?

题主你好,

关键点在于函数如果没有明确使用return关键字指定函数的返回值,则默认返回值是none.

-----

所以temp = hello()这句的理解就是: 执行hello()这个函数, 并且把函数的返回值赋给变量temp, 但hello()函数中没有return语句, 所以hello()函数的返回值为默认的none.

-----

题主还可以在hello()函数最后加一个: return 123

然后再行一下看看,就明白了.

=====

希望可以帮到题主, 欢迎追问.

参考技术A 函数使用 return 语句返回 "返回值",可以将其赋给其它变量作其它的用处 所有函数都有返回值,如果没有 return 语句,会隐式 参考技术B 你好,不好意思,我的数学不是太好,你发的这个我有点看不太懂,不能为您解答。

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 呢?????

参考技术A python 函数返回值有两种形式:
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函数的返回值?的主要内容,如果未能解决你的问题,请参考以下文章

python第三篇 python基础之函数,递归,内置函数

python:返回值问题

python中怎么让类返回值?

python 函数复习

python基础 函数定义 返回值 参数

python 获取另一个py文件 中函数的返回值