zoukankan      html  css  js  c++  java
  • python异常以及面向对象编程

    一、面向对象

    需要注意的是,在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name____score__这样的变量名。

    有些时候,你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。

    双下划线开头的实例变量是不是一定不能从外部访问呢?其实也不是。不能直接访问__name是因为Python解释器对外把__name变量改成了_Student__name,所以,仍然可以通过_Student__name来访问__name变量:

    二、python异常处理

    1、try-except异常处理
    代码块如下:

    try:
        try_code
    except NameError,e:
        except_code
    finally:
        always run code.

    2、with as异常处理

    with open('q.txt') as f:
        for line in f.readlines():
            print line    

    3、python常见异常
    (均继承自Exception基类)
    3-1、NameError:变量a未定义
    3-2、SyntaxError:语法错误,if True(没加:)
    3-3、IOError:f = open('1.txt'):文件不存在
    3-4、ZeroDivisionError:10/0
    3-5、ValueError:a=int('dd')
    4、raise语句和assert语句
    4-1raise用于主动抛出异常
    语法:
    raise exception,args
    exception:异常类 args:描述异常的元组
    例如 raise NameError, "Not defined"
    输出 NameError: Not definied
    4-2assert语句
    断言语句:用于检测表达式是否为真,如果是假,引发AssertionError错误。
    语法: assert expression,args
    expression:表达式
    args:判断条件的描述信息
    举例: assert 0,'test assert'或者assert 0==9,'test assert'
    输出AssertionError: test assert
    5、标准异常和自定义异常
    自定义异常必须继承自Exception类,而且只能是主动触发(raise)
    举例说明
    自定义异常:
    class FileError(IOerror):
      pass
    产生自定义异常:
    raise FlieError, 'file error'
    try捕获异常的使用:

    try:
        raise FileError,'file error'
    except FileError,e:
        print e
  • 相关阅读:
    利用 runtime,解决多次点击相同 button,导致重复跳转的问题-b
    dbcp数据库连接池管理
    dbutil组件的常见用法
    事务的概念及常用方法
    jdbc链接基础
    MySQL数据约束和关联查询
    mysql基本操作语句
    jsp常用标签和标签库及javaBean规范
    EL表达式
    会话过程保存数据对象cookie和session
  • 原文地址:https://www.cnblogs.com/likailiche/p/4474644.html
Copyright © 2011-2022 走看看