python初学,咋看一个函数有没有返回值
本人对 Python 完全不熟悉,还需要更专业的人来解释。
返回值可以这样理解:
函数在调用时可以有返回值。函数调用的返回值,就是函数执行完成后,在调用函数的表达式中替换掉函数调用这段内容的值。
譬如在表达式 FuncFoo(x)+FuncBar(y) 求值时,可以视作先执行 FuncFoo(x) ,将其返回值替换掉 FuncFoo(x) 、对 FuncFoo(y) 做同样处理,然后再执行后续操作。当然实际顺序会更有讲究。
Python 的函数是允许一部分情况有返回值,一部分情况无返回值的。
你可以用 Func(...) == None 这样的代码判断这次调用是否有返回值。
标准库的函数有没有返回值不需要猜,看这里就好:The Python Standard Library
函数所 return 的东西就是返回值,没有写就是没有(或者说是 None )。
■网友
看了你两个问题,我认为目前不宜给你讲理论的东西,因为你现在已经想得有点多了。
你应该做的是照着书籍多做练习,理解了程序的逻辑,从实用的角度会逐渐理解为什么这些函数有返回值,而那些没有。没有足够基础的话想太多并没有什么好处。
■网友
print(f()) #函数有返回值
f() #函数没有返回值
■网友
第一个问题,使用print(),可以打印你的函数执行结果,有返回值,打印的就是返回值,没有返回值,打印的就是你的函数执行结果第二个问题,函数的返回值,你可以理解成就是函数的执行结果,这个结果重新赋值给你的变量,为后续调用。有的函数有返回值,有的函数没有返回值,这个看具体函数的作用。第三个问题,就以你举例的俩函数remove的作用是移除元素,做的是一个移除的动作,即使你用print打印结果,也只是看到你移除后,剩余的元素pop,相当于摘取list中的数据,然后赋值给你的变量,那么这个函数的返回值,就是你摘取的list中的数据,所以你可以看到打印的结果以上,实际上,remove严格来说,他的执行结果就是剩余的元素,所以说他有返回值也是可以的,但是这个动作并不会自己给出结果,只有通过print来进行打印,但是并不影响后续程序的调用,因为你就是想要他删除后的元素
■网友
【python初学,咋看一个函数有没有返回值】 3的说法是基本上没什么问题的,但是要深刻理解这其间的道理才行
赞同@哇咔咔
■网友
Python里面都有返回值吧
■网友
你可以用dis模块查看函数的字节码def f(): a = 1def g(): return 1import disdis.dis(f)# LOAD_CONST 1(1)# STORE_FAST 0(a)# LOAD_CONST 0(None)# RETURN_VALUEdis.dis(g)# LOAD_CONST 1(1)# RETURN_VALUE
所以python有没有返回值,其实就是在返回栈中是否存入`None`
从源码看TARGET(RETURN_VALUE): retval = POP() // ((void)(lltrace \u0026amp;\u0026amp; prtrace(TOP(), "pop")), (*--stack_pointer)) ...
---我根本不懂Python,匿了
推荐阅读
- 怎样成为一名合格的Python程序员?
- python 爬虫,咋获得输入验证码之后的搜索结果
- python的html5lib这个库咋使用啊我在网上也没有找到相关文档
- 达内和传智播客培训机构出来的人才们,你们当初学好第一份工作是学校推荐的还是自己找的
- 零基础入门学习啥语言好
- 听说计算机培训班大多都会给自己的学员做假的简历,伪造工作经历等,真实的情况是啥样的,用人单位咋看
- Python3.4和3.5区别大么
- python 中 def_():...... return _有啥作用
- 新互联网网站用Java还靠谱么对比Php,Python,Ruby的话
- 30岁男,创业失败转行学python,是否很晚?也不好找工作?