python 函数返回值的特殊情况
2012-11-29 11:29
405 查看
今天没事和大家一起聊聊python 函数返回值的特殊情况,之前我也碰到过类似方面的问题,到后来查阅了一些资料后,发现原来是这样!
我记得很久以前和大家聊过python列表操作方法,python列表非 常的强大,提供了很多内置的方法使得你可以通过python的列表结构和操作做很多你想要的事情,我记得它里面有一些方法,比如append,还有 sort方法,这几个方法应该在你的程序里时不时会出现吧,可见频率之高!我当时开始学习的话,用这2个列表方法的话,我是按照下面的方式来用的:
a = [1,5,11,2]
x = a.append('b')
y = a.sort()
我当时学python的时候也许是受其它语言的影响,认为只要是函数的话,就有返回值,应该就可以返回一些想要的结果,其实你自己在编辑器里运行
上面的方法的话,输出的结果不会是你想要的,而是一片空白!呵呵。原因在哪呢?
原 来python的有些内置方法是不返回具体的内容的,而是返回一个None,这个就是今天我想说的一个话题,return在python函数里面是可选 的,当一个函数无法准确的返回值时,函数就会运行到最后然后退出,也就是说所有的函数都有返回值,如果你不提供返回值的话,函数默认返回一个None。 append,sort等方法应该就属于这个情况,所以大家以后碰到函数返回值输出空白的话,那就要想想是不是返回None,而只是你原来的变量被原地的 改变了。
原创文章请注明转载自老王python,本文地址:http://www.cnpythoner.com/post/139.html
我记得很久以前和大家聊过python列表操作方法,python列表非 常的强大,提供了很多内置的方法使得你可以通过python的列表结构和操作做很多你想要的事情,我记得它里面有一些方法,比如append,还有 sort方法,这几个方法应该在你的程序里时不时会出现吧,可见频率之高!我当时开始学习的话,用这2个列表方法的话,我是按照下面的方式来用的:
a = [1,5,11,2]
x = a.append('b')
y = a.sort()
我当时学python的时候也许是受其它语言的影响,认为只要是函数的话,就有返回值,应该就可以返回一些想要的结果,其实你自己在编辑器里运行
上面的方法的话,输出的结果不会是你想要的,而是一片空白!呵呵。原因在哪呢?
原 来python的有些内置方法是不返回具体的内容的,而是返回一个None,这个就是今天我想说的一个话题,return在python函数里面是可选 的,当一个函数无法准确的返回值时,函数就会运行到最后然后退出,也就是说所有的函数都有返回值,如果你不提供返回值的话,函数默认返回一个None。 append,sort等方法应该就属于这个情况,所以大家以后碰到函数返回值输出空白的话,那就要想想是不是返回None,而只是你原来的变量被原地的 改变了。
原创文章请注明转载自老王python,本文地址:http://www.cnpythoner.com/post/139.html
相关文章推荐
- C++函数返回值的特殊情况(返回引用、非引用、引用左值)
- python核心编程-函数返回值
- week04_python函数返回值、作用域
- Python学习笔记(九)返回函数
- python特殊函数 __cmp__
- Swift 1.1语言函数参数的特殊情况本地参数名外部参数名
- Python自学笔记之函数式编程5——返回函数
- Python3 基础:返回函数和匿名函数
- Python3基础 Python的函数都有返回值 无指定返回值的函数 返回NONE对象
- 【Python】使用生成器改写直接返回列表的函数
- Python闭包:返回函数的函数
- Python学习笔记:python3中的range()函数的返回对象类型
- [转帖]FORK()函数的两次返回的具体情况
- python学习之函数返回值
- python threading获取线程函数返回值
- python的返回函数
- Python - lambda 函数, 返回单个表达式的值
- python 函数返回多个值
- 第21个python程序:函数可以返回东西
- 函数返回局部变量的几种情况