美文网首页Python程序员
python异常处理、模块、私有化

python异常处理、模块、私有化

作者: 叫我老村长 | 来源:发表于2018-06-24 19:03 被阅读4次
11576306-a8402191f0aec4c2.png

异常处理

一、系统异常

1.捕捉异常
结构是:
try:
    可能引起异常的代码
except:
    对异常的处理代码
try:
    print(name)
except: #所有异常
    print ('error')
2.捕获多个异常
try:
    print(name)
except (IOError, NameError):
    print ('error')
3.异常描述信息
try:
    print(name)
except NameError as ret:
    print ('error : %s', ret)
4.捕获所有异常
try:
    print(name)
except Exception as ret: #all exception  error
    print ('error : %s', ret)
5.try…finally…
try:
    print(name)
except Exception as ret:
    print ('error : %s'% ret)
else:
    print ('没有任何异常')
finally:
    print ('无乱是否有异常,最后都要执行这里')

二、抛出自定义的异常

# python 2.X -raw_input   python 3.X -input
# coding=utf-8
class MyError(Exception):
    '''self error'''
    def __init__(self, length, least):
        self.length = length
        self.least = least
def main():
    s = raw_input('please input your name :')
    try:
        if len(s) < 3:
            raise MyError(len(s), 3)
    except MyError as rest:
        print ('input len = %s, min order %d' % (rest.length, rest.least))
    else:
        print ('no error')

模块

1、Python中的模块
import os
print (os.__file__)
2、import
import math
   #这样会报错
   print sqrt(2)
   #这样才能正确输出结果
   print math.sqrt(2)

有时候我们只需要用到模块中的某个函数,只需要引入该函数即可,此时可以用下面方法实现:
from 模块名 import 函数名1, 函数名2

不仅可以引入函数,还可以引入一些全局变量、类等
3、from … import *
import a as t
pass

私有化

xx: 公有变量
_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问
_xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到)
xx:双前后下划线,用户名字空间的魔法对象或属性。例如:init , __ 不要自己发明这样的名字
xx
:单后置下划线,用于避免与Python关键词的冲突
通过name mangling(名字重整(目的就是以防子类意外重写基类的方法或者属性)如:_Class__object)机制就可以访问private了。

相关文章

  • python异常处理、模块、私有化

    异常处理 一、系统异常 1.捕捉异常 2.捕获多个异常 3.异常描述信息 4.捕获所有异常 5.try…final...

  • python核心编程-错误与异常

    本章主题:什么是异常Python中的异常探测和处理异常上下文管理引发异常断言标准异常创建异常相关模块 什么是异常 ...

  • Python面试解析-01

    一、什么是Python?使用Python有什么好处? Python是一种编程语言,它有对象、模块、线程、异常处理和...

  • 2019-04-25

    python内置的http请求库 urllib.request 请求模块 urlib.error 异常处理...

  • 【转】python面试题

    1.什么是Python?使用Python有什么好处? Python是一种编程语言,它有对象、模块、线程、异常处理和...

  • PYTHON部分基础D6

    reflect反射 异常处理 Python内置了几十种常见的异常,就在builtins模块内,无需特别导入所有的异...

  • 对urllib 的理解

    它是python内置的http的请求库,urrlib.request 请求模块urllib.error 异常处理模...

  • python异常处理及内置模块

    异常处理 有时候我们在写程序的时候会出现错误或者异常,导致程序终止,如下这个例子: 上面提示被除数不能为0,从而导...

  • python requests模块的异常处理

    在我们用Python的requests模块进行爬虫时,我们可能会遇到网络的各种变化,可能会导致请求过程发生各种未知...

  • urllib的用法

    urllib 是 Python 内置的 HTTP 请求库,它包含四个模块:1.发送请求2.处理异常模块3.pars...

网友评论

    本文标题:python异常处理、模块、私有化

    本文链接:https://www.haomeiwen.com/subject/ixssyftx.html