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大数据分析学习基础篇——数据结构

Python大数据分析学习基础篇——数据结构

Python基础之函数与异常

数据分析学习汇总

Python学习第15篇:面向对象之异常处理

Python大数据分析学习基础篇——Spyder和Numpy