python函数返回多个值

原创 2015年09月13日 14:34:38

def func():
    x = 1
    y = 2
    return x, y
a, b = func()
print( "a: " + str( a ) + ", b: " + str( b ) )
输出:

a: 1, b: 2

函数可以返回多个值吗?答案是肯定的。
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的坐标:
# math包提供了sin()和 cos()函数,我们先用import引用它:

1
2
3
4
5
6
7
import math
def move(x, y, step, angle):
    nx = + step * math.cos(angle)
    ny = - step * math.sin(angle)
    return nx, ny
     
print(move(10010060, math.pi / 6))

  

但其实这只是一种假象,Python函数返回的仍然是单一值:
>>> r = move(100, 100, 60, math.pi / 6)
>>> print r
(151.96152422706632, 70.0)
用print打印返回结果,原来返回值是一个tuple!
但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。


http://www.cnblogs.com/xiaoit/p/4046533.html



相关文章推荐

python- 如何返回多个值

如何写一个返回多个值的函数函数的return 语句只能返回一个值,可以是任何类型。因此,我们可以“返回一个 tuple类型,来间接达到返回多个值”。例:   x 除以 y 的余数与商的函数def  ...
  • facevoid
  • facevoid
  • 2010年03月11日 14:04
  • 77931

Python中一次读取多个值

Python 2里面读取输入的函数是raw_input(), Python 3的是input(),读入一个值后回车读取输入就退出了,想要一次读取多个输入,可以像下面这样: a, b = raw_in...

python- 如何返回多个值

函数的定义 首先,我们要定义一个函数, 以说明这个函数的功能。 def square_sum(a,b): c = a**2 + b**2 return c 这个函数的功能...

Python的函数返回值

Python的函数返回值 最近学一些Python的基本用法,看到定义函数,发现似乎只能返回一个返回值,想想matlab里返回多个返回值多方便啊,网上查了查,看到有返回多个值的方法。 参...
  • liuzx32
  • liuzx32
  • 2015年04月24日 17:53
  • 432

第8课 Python自定义函数返回值:单返回值和多返回值问题

1.Python函数返回值 两种形式: 1 返回一个值。 2 返回多个值。 现看看返回一个值的吧。 def firstvalue(a,b):     c = a + b     return ...

Python学习笔记-返回函数

1:python返回函数Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!例如,定义一个函数 f(),我们让它返回一个函数 g,可以这样写:def f(): ...
  • ljp1919
  • ljp1919
  • 2016年03月20日 18:20
  • 5796

python执行系统命令后获取返回值的几种方式

执行系统命令,没有返回值 result = os.popen('ps aux') res = result.read() for line in res.spl...

python多返回值

函数返回值:现看看返两回个值的  1 def demo(a,b): 2     c = a + b ...

python函数中 return语句 之后的语句 一定不会执行?

python函数中 return语句之后的语句一定不会执行?

Python学习笔记(十一):Python函数

以Mark Lutz著的《Python学习手册》为教程,每天花1个小时左右时间学习,争取两周完成。 --- 写在前面的话 2013-7-21 22:00 学习笔记 1,def是Python中的一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python函数返回多个值
举报原因:
原因补充:

(最多只允许输入30个字)