Python大数据分析学习基础篇——异常与函数
Posted Tiramisu1104
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python大数据分析学习基础篇——异常与函数相关的知识,希望对你有一定的参考价值。
一、异常
在Python中,try/except语句主要是用于程序正常执行过程中出现的一些异常情况,如语法错误、数据除零错误、从未定义的变量上取值等;而try/finall语句则主要用于监控错误的环节。尽管作用不同,但是在编程实践中通常把他们结合在一起,Python中try/except/else/finaly语句完整格式如下:
try:
Normal execution block
except A:
Exception A handle
except B:
Exception B handle
except :
Other exception handle
else :
if no exception,get here
finally:
print("finally")
(1)try/except结构
try:
处理代码
except Exception as e:
处理代码异常,在这里进行异常处理
(2)try/except/finally结构
这种异常处理结构通常用于,无论程序是否发生异常,都要执行的操作,茹关闭数据库资源,关闭打开的文件操作,但必须要执行的代码需要放在finally中。
(3)try/except/else结构
该程序运行过程如下:程序进入try语句部分每当try部分发生异常则进入except语句部分,若不发生则进入else部分。
(4)try/except/else/finally结构
这是try/except/else的升级版,在原有的基础上加入了必须要执行的部分。
二、函数
1、函数的基本结构
同其他程序结构一样,函数也是一种程序结构,大多数程序语言都允许使用者定义并使用函数,
在Python中,我们定义一个函数是通过def关键字来声明的人,其结构如下:
def 函数名(参数)
函数体
return 返回值
def f(x,y)
z=x**2+y**2
return z
2、参数结构
函数是可以传递从参数的,当然也可以不传递参数
(1)传统参数传递
{无参数传递和固定参数传递}
(2)默认参数传递
Python默认参数传递机制减少了重复参数的多次输入,函数允许默认参数是大多数语言支持的,
(3)未知参数个数传递
对于某些函数,我们不知道传进来多少个参数,只知道对这些参数进行怎样的处理。Python允许我们创造这样的函数,即未知参数个数的传递机制只需要在参数前面加“*”就可以了。
def func(name,*arfs):
print(name+"有以下称呼")
for i in args:
print(i)
func('张三','毛毛','法外狂徒')
(4)带键参数传递
带键参数传递是指参数通过键值对的方式进行传递,带键参数传递只需要在参数前面加**就可以了。
3、回调函数
回调函数又叫函数回调,是指将函数作为参数传递到另外的函数中执行。
def func(fun,args):
fun(args)
def f1(x):
print("这是f1函数:",x)
def f2(x):
print("这是f2函数:",x)
func(f1,1)
func(f2,"hello")
运行结果如下:
这是f1函数: 1
这是f2函数: hello
4、函数的递归与嵌套
(1)函数的递归
函数的递归是指函数在函数体中直接或间接的调用自身的现象。递归要有停止条件,
否则函数将永远无法跳出递归,成了死循环。、
def fib(n):
if n <= 2:
return 1
else:
return fib(n-1) + fib(n-2)
for i in range(1,10):
print("fib(%s)=%s" % (i, fib(i)))
运行结果:
fib(1)=1
fib(2)=1
fib(3)=2
fib(4)=3
fib(5)=5
fib(6)=8
fib(7)=13
fib(8)=21
fib(9)=34
(2)函数的嵌套
函数的嵌套是指在函数中调用另外的函数。
def args_input():
#定义输入函数
try:
A = float(input("请输入A:"))
B = float(input("请输入B:"))
C = float(input("请输入C:"))
return A,B,C
except: #输入错则重新输入
print("请输入正确的数值类型!")
return args_input()
def get_delta(A,B,C):
#计算delta
return B**2-4*A*C
def solve():
A,B,C = args_input()
delta = get_delta(A,B,C)
if delta < 0:
print("该方程无解!")
elif delta == 0:
X = B / (-2 * A)
print("A=",x)
else:
#计算x1,x2
x1 = (B+ delta**0.5 / (-2 *A))
x2 = (B- delta**0.5 / (-2 *A))
print("x1=",x1)
print("x2=",x2)
#在当前程序下执行此程序2
def main():
solve()
if __name__ == '__main__':
main()
执行结果如下:
请输入A:2
请输入B:5
请输入C:1
x1= 3.9692235935955846
x2= 6.030776406404415
以上是关于Python大数据分析学习基础篇——异常与函数的主要内容,如果未能解决你的问题,请参考以下文章
Python大数据分析学习基础篇——Spyder和Numpy