Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344849
  • 博文数量: 148
  • 博客积分: 2745
  • 博客等级: 少校
  • 技术积分: 1704
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-30 14:59
文章分类

全部博文(148)

文章存档

2013年(97)

2012年(7)

2011年(3)

2010年(41)

我的朋友

分类: Python/Ruby

2013-01-31 22:27:04

今天没事和大家一起聊聊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,而只是你原来的变量被原地的 改变了。


转载地址:

阅读(587) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~