python函数返回值

今天复习python函数相关的知识,发现一直忽略了一python函数的一个重要特性:   
可以返回"多个"值   
像这样   
```
#!/usr/bin/env python3
def foo():
  return 1,2

x, y = foo()
print(x)
print(y)
```
输出结果是:   
1   
2   
顺便把python关于返回值的知识点总结下:   
1. 无显式return语句时,返回None   
2. return一个对象时,返回该对象
3. return多个对象时,返回由这多个对象组成的元组
(因为python中元组可以用像`x,y=1,2`一样的句法赋值,所以看上去像是返回了"多个"对象)

下面的代码用来验证上面的总结:
```
#!/usr/bin/env python3
def foo0():
  pass

def foo1():
  return 1

def foo2():
  return 1,2

print(type(foo0()))
print(type(foo1()))
print(type(foo2()))
```
输出结果:    
<class 'NoneType'>   
<class 'int'>   
<class 'tuple'>   
posted @ 2013-11-21 23:36  _漏斗  阅读(1761)  评论(0编辑  收藏  举报