python中的异常处理方式及对函数的认识

作为编程人员,无论我们学习何种编程语言,在学习的初期,都会在运行中遇见许多异常,这往往会给我们带来很大的困扰,所以如何避免异常就变得尤为重要。可能对许多从事多年编码的人员,会在编码的过程中就解决掉了,所以今天我所要说的python异常处理,仅仅是针对于初学者,希望我的浅薄之言可以对你有所帮助,同时希望指出错误,大家共同学习,进步。

1.python异常处理方式

 

list = [1,2,3,4,5,6,7,8]

# IndexError: list index out of range

# print(list[14])

dic = {}

# 如果dic有name属性 则修改这个属性的值,如果没有name属性 则添加name属性

dic['name'] = '张三'

# KeyError: 'age'

print(dic['name'])

 

# 将有可能引起错误的代码放进try里面, 如果出现错误,代码会根据错误类型  进入到指定的except, 这样做的,代码不会因为错误而中断执行。

try :

    # print(list[14])

    print(dic['age'])

except IndexError as e :

    print('捕获了一个索引错误{}'.format(e))

except KeyError as e :

    print('捕获了一个关键字错误{}'.format(e))

print('hello world')


 

try :

    print(list[21])

# Exception 和 IndexError , KeyError ...

# 为父与子关系

except Exception as e :

    print('捕获了一个错误{}'.format(e))
try:

    print('这是一个标准格式')

    print(dic['data'])

except IndexError as e:

    print('上一行代码出现了索引错误{}'.format(e))

except KeyError as e:

    print('上一行代码出现了关键字错误{}'.format(e))

# 如果没有出现任何错误 即执行else代码块

else :

    print('目前代码感觉良好')

finally:

    print('代码结束')

2.函数的基础操作

 

# def  define 定义

# def + 方法名字 + (参数(形参))

def mySelf():

    print('今天是2018年7月4日,'

          '我上班的第一天,'

          '省略一万字....感觉自己萌萌哒,'

          '谢谢大家')

    print('今天是2018年7月5日,'

          '今天领导批评了我,'

          '感觉很不爽,'

          '要辞职')

    print('今天是2018年7月6日,已辞职')

mySelf()

mySelf()

mySelf()

 

# 无参数无返回值

def fun1():

    print('Hello World')

fun1()

# 参数的实质就是变量

# 声明方法时候的参数  叫做形式参数

def fun1(name):

    print('大家好,我的名字是{}'.format(name))

# 声明方法的时候 如果有参数, 那么调用方法一定也要有参数,声明方法时候的参数叫做形参(形参即为变量),调用方法时候的参数叫做实参(实参为给变量赋值)。

fun1('渣渣辉')

# 没有参数 有返回值的方法

# 局部变量

def fun1():

    # 在局部声明的变量即为局部变量,(在方法内部声明的变量全部是是局部变量

    #  局部变量的作用范围, 即为声明变量的这个方法,出了这个方法的范围 就不能再使用这个变量)

    result = 1 + 2 + 3 + 4 + 5+ 6 + 7 + 8 + 9

    # 将这个值拿到方法的外面使用

    return  result

content  = fun1()

print('1+ 9 的结果是{}'.format(content))

def fun1():

    result = 1+2+3+4+5

    return result

print('1+9的结果是{}'.format(fun1()))

# 有返回值 有参数的方法

def fun1(name , age ):

    result = '我的姓名是{},我的年龄是{}'.format(name ,age)

    return result

print(fun1('张三',17))

# 全局变量------------------------------

# name = '张三'

def fun1():

    # global  全球的;全局的

    # global name

    # print(name)

    name = '李四'

    print(name)

fun1()

 

# 默认参数-------------------------------

# 想让哪个参数成为默认参数都可以,但是一定要注意:默认参数放入参数列表的队尾

def fun1(name ,  fond, age=17 ):

    print('我是{},我的年龄是{},我的爱好是{}'.format(name ,age ,fond))

fun1('小明','吃鸡',99)

fun1('小明','LOL')

 

# def fun1(age=17 ,fond ='吃鸡',name):

#     pass

# 上面这种写法是错误的:

# 因为默认参数一定要写在参数列表的队尾

 

# 关键参数------------------------------------------

def fun1(name ,age=17 ,sex='男',fond='game'):

    print('我是{},我今年{},我是{}的,我喜欢{}'.format(name ,age ,sex,fond))

fun1('小明')

fun1('小兰',16 ,'女')

# 指定指明给某个参数赋值 这个参数就叫做关键参数

fun1('小张',fond='吃饭')

fun1(fond='学习',age = 7 ,name = '小王')

# 如果参数中参数为非默认参数

# 那么调用方法的时候 一定要给它赋值

# fun1(age = 7 , fond='吃饭')

 

# *args用法-----------------------------------

# arguments 参数

# 将多余的参数统统放入args里面

def fun1(a ,b ,*args):

    print('a的值是:{}'.format(a))

    print('b的值是:{}'.format(b))

    print('args的值是:{}'.format(args[0]))

    print('{} + {} = {}'.format(a , b , a + b  ))

# fun1(10 , 15)

fun1(10, 15 ,20)

fun1(10, 15, 20, 25)

fun1(10 , 15 ,20 ,25 ,30)

 

# 返回值return--------------------------------

# 作用1:将方法内部的结果 让外面来使用

def jing():

    jingShui = '我是井水,我只能在jing这个方法里面用,外面用不到'

    # 将井水运送出井

    return jingShui

print(jing())

 

def fun1():

    print('今天走了一步')

    print('今天走了两步')

    # 截断 :return后面的代码 统统不执行

    return

    print('今天走了三步')

fun1()

def isOpen(open):

    # 如果灯已经打开了

    if open == True:

        return

    print('打开灯')

isOpen(False)

 

 

 

猜你喜欢

转载自blog.csdn.net/zuo199606184810/article/details/81291121