2017寒假零基础学习Python系列之函数之 返回多个值

Posted cnRicky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017寒假零基础学习Python系列之函数之 返回多个值相关的知识,希望对你有一定的参考价值。

  Python也和C语言一样有自己的标准库,不过在Python中叫做模块(module),这个和C语言中的头文件以及Java中的包类似,其中math就是其中之一,math模块中提供了sin()和cos()函数
引用Python中模块(以引用math为例)的格式为:import math

以一个计算游戏中坐标的例子来说吧:

import math
def move(x,y,step,angle):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx,xy

这样就可以同时获得返回值:

x,y = move(100,100,60,math.pi / 6)
print x,y
>>>151.961524227 70.0

是不是感觉这方面比C语言强多了?!

其实这是一种“假象”,Python中返回的仍然是一个值!

r = move(100,100,60,math.pi / 6)
print r
>>>151.96152422706632, 70.0

真相是:用print打印返回结果,返回的值是一个tuple!

总结:Python的函数返回多值其实就是返回一个tuple,但写起来更加方便

小习题:
一元二次方程的定义是:ax2 + bx + c = 0

请编写一个函数,返回一元二次方程的两个解。

注意:Python的math包提供了sqrt()函数用于计算平方根。

代码:

import math

def quadratic_equation(a, b, c):

x1 = (-b + math.sqrt(b*b - 4*a*c)) / (2*a)

x2 = (-b - math.sqrt(b*b - 4*a*c)) / (2*a)

return x1,x2

print quadratic_equation(2, 3, 0)

print quadratic_equation(1, -6, 5)

 

以上是关于2017寒假零基础学习Python系列之函数之 返回多个值的主要内容,如果未能解决你的问题,请参考以下文章

2017寒假零基础学习Python系列之函数之 返回多个值

Python零基础学习系列之二--Python介绍及环境搭建

《C#零基础入门之百识百例》(三十八)常用方法 -- Math类

零基础学PythonDay5 Python基本数据类型之List

零基础学PythonDay4 Python基本数据类型之String

《C#零基础入门之百识百例》(四十三)类的构造和析构函数 -- 模拟用户注册