Python_函数调用_数学函数_组合

在编程的语境下,“函数”这个词的意思是对一系列语句的组合,这些语句共同完成一种运算。

定义函数的时候,你要给这个函数指定一个名字,另外还要写出进行运算的语句。定义完成后,就可以通过函数名来“调用”函数。

一,函数调用

一个函数调用的例子:

>>> type(42)

<class 'int'>

这个函数的名字就是tpye,括号里面的表达式叫做函数的参数,这个函数的结果是返回参数的类型。

一般来说,函数都要“传入”一个参数,“返回”一个结果。结果也被叫做返回值。Python提供了 一些转换数值类型的函数。

比如

(1)int这个函数就可以把值转换成整形,但不是什么都能转的, 遇到不能转换的就会报错了,如下所示:

>>> int('42')

42

>>> int('Hello')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: invalid literal for int() with base 10: 'Hello'

int这个函数能把浮点数转成整形,但不是很完美,小数部分就都给砍掉了。

>>> int(3.1415927)

3

>>> int(-2.1314)

-2

(2)float能把整形和字符串转变成浮点数

>>> float(32)

32.0

>>> float('3.1415927')

3.1415927

(3)str可以把参数转变成字符串

>>> str(32)

'32'

>>> str(3.1415927)

'3.1415927'

二,数学函数

Python内置了一个数学模块,这一模块提供了绝大部分常用的数学函数。模块就是一系列相关函数的集合成的文件。

在使用模块中的函数之前,必须先要导入这个模块,使用导入语句import:

>>> import math

这个语句建立了一个模块对象,名字叫做math。把这个模块对象显示一下,得到与之相关的信息:

>>> math

<module 'math' from '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/lib-dynload/math.cpython-37m-darwin.so'>

模块对象包含了一些已经定义好的函数和变量。指定模块名和函数名,要用点.(英文输入法)来连接模块名和函数名,比如下方的math.pi

例子:对弧度值计算正弦值。

通过变量名你应该能推测出正弦以及其他的三角函数 (比如余弦、正切等等)都要用弧度值作为参数。所以要把角度的值从度转换成弧度,方法 就是除以180然后再乘以圆周率π

>>> degrees = 45

>>> radians = degrees / 180.0 * math.pi

>>> math.sin(radians)     #计算正弦值

0.7071067811865475

math.pi这个表达式从数学模块中得到π的一个大概精确到15位的近似值,存成一个浮点数。

也可以试着把2的平方根除以二,可以得到与上面一致的结果。

>>> math.sqrt(2) / 2.0

0.7071067811865476

画一个三角形,45度角两直角边是单位1,斜边必然是2的平方根了,对应的正弦余弦也都是这个值(0.7071067811865476)。

三,组合

一门编程语言最有用的功能莫过于能够用一个个小模块来拼接创作。例如函数的参数可以是任何一种表达式,包括代数运算符:

>>> x = math.sin(degrees / 360.0 * 2 * math.pi)

再或者函数的调用本身也可以作为参数,如下的math.log()

>>> x = math.exp(math.log(x+1))

值得注意的是,一个声明语句的左边必须是变量名,任何其他的表达式放到等号左边都会导致语法错误。

>>> hours = minutes * 60

>>> minutes * 60 = hours

  File "<stdin>", line 1

SyntaxError: can't assign to operator

结束。

 

 

 

posted @ 2020-06-01 16:57  巴州夜雨  阅读(1089)  评论(0编辑  收藏  举报