1-06 Python 基础学习-0514

第三章:需求分析

1.功能分析
2.性能分析
EG: 相应时间、主存容量、磁盘容量、安全性、等
3.可靠性和可用性
4.出错处理需求
系统发现错误时的行动,主要在系统关键部分设置
5.接口需求
用户接口、硬件接口、软件接口、通信接口等
6.约束
精度、工具和语言、设计约束、硬件约束、标准等
7.逆向需求
8.将来可能提出的要求

实体联系图
状态转换图
ER图

Python函数:

我们知道圆的面积计算公式为:
S=rπ2
当我们知道半径r的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积;
r1=12.34
r2=9.08
r3=73.1
s1=3.14
r1r1
s2=3.14
r2r2
s3=3.14
r3*r3

当代码出现有规律的重复的时候,你就需要当心了,每次写3.14xx不仅很麻烦,而且,如果要把3.14改成3.14159265359的时候,得全部替换。

有了函数,我们就不再每次写s=3.14xx,而且写成更有意义的函数调用s=area_of_cilcle(x),而函数area_of_circle本身只需要写一次,就可以多次调用。

基本上所有的高级语言都支持函数,Python也不例外。Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用。

抽象
抽象是数学中非常常见的概念。举个列子:
计算数列的和,比如:1+2+3+…+100,写起来十分不方便,于是数学家发明了求和符号∑,可以把1+2+3+…+100记作:
100

∑n
n=1

这种抽象记法,非常强大,因为我们看到∑就可以理解成求和,而不是还原成低级的加法运算。
而且,这种抽象记法是可扩展的,比如:
100
∑(n2+1)
n=1
还原成加法运算就变成了:
(1
1+1)+(22+1)+(33+1)+…+(100*100+1)
可见,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的层次上思考问题。
写计算机程序也是一样,函数就是最基本的一种代码抽象的方式。

调用函数
Python内置了很多有用的函数,我们可以直接调用。
要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abd,只有一个参数。可以直接从Python的官方网站查看文档:
http://docs.python.org/2/library/functioms.html#abs
也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。
调用abs函数:

abs(100)
100

abs(-20)
20

abs(12.34)
12.34

调用函数的时候,如果传入的参数数量不对,会报TypeError的错误,并且Python会明确地告诉你:abs()有且仅有1个参数,但给出了两个:

abs(1,2)
Traceback(most recent call last):
File"",line 1,in
TypeError:abs() takes exactly one argument (2 given)

如果传入的参数数量是对的,但参数类型不能被函数所接受,也会报TypeError的错误,并且给出错误信息:str是错误的类型:

abs(’a’)
Traceback (most recent call last)
File"",line1,in
TypeError:bad operand type for abs():’str’

数据类型转换
Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数:

int(’123’)
123

int(12.34)
12

float(’12.34’)
12.34

str(1.23)
’1.23’

笔记
调用Python内置函数,
注意:
1.函数名正确
2.参数个数和类型正确

小结
调用Python的函数,需要根据函数定义,传入正确的参数。如果函数调用出错,一定要学会看错误信息,所以英文很重要!

定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中缩写函数体,函数的返回值用return语句返回。
我们以自定义一个求绝对值的my_abs函数为例:
def my_abs(x)
if x >=0
return x
else:
return-x

请自行测试并调用my_abs 看看返回结果是否正确。
请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。

空函数
如果想定义一个什么事也不做的空函数,可以用pass语句:
des nop()
pass
pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好pass还可以用在其他语句里,比如:
if age>=18
pass
缺少了pass,代码运行就会有语法错误。

返回多个值

函数可以返回多个值吗?答案是肯定的。
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的坐标:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值