Python异常处理、包管理器和正则表达式实例代码

 更新时间:2025年10月20日 10:24:21   作者:不会画图的数分师  
在Python编程中,包管理器、正则表达式和异常处理是三个非常重要的概念,这篇文章主要介绍了Python异常处理、包管理器和正则表达式的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

异常的处理:当发生错误时,或者我们称之为异常,Python 通常会停止并生成错误消息。

  1. try:允许你测试代码块是否有错误。

  2. exce pt:允许你处理错误。

  3. else:允许你在没有错误的情况下执行代码。

  4. finally:允许你无论 try 和 except 的结果如何都执行代码。

    x = 10
    try:    # 外层try...except...
      print(x)
      try:  # 内层try...except...
        print(y)
      except:   # 内层try...except...异常的处理
        print("内层try...except...发现错误")
      finally:  # 内层finally不管怎么样都会运行
        print("内部try...except...已结束")
    except: # 外层try...except...异常的处理
      print("外层try...except...发现错误")
    else:   # 外层else,只要在没有异常时候会运行
        print("我是else,外层try...except...没有错误")
    finally:    # 外层finally不管怎么样都会运行
        print("外层try...except...已结束")

异常的类型掌握异常类型有助于精准捕获和处理错误。

  1. Exception:大多数可处理异常的基类,其中常见的有。
    1. NameError:引用未定义的变量或函数时触发。
      print(x)
      # NameError: name 'x' is not defined
    2. TypeError:操作或函数应用于不兼容类型的对象时触发。
      print(1 + "a")
      # TypeError: unsupported operand type(s) for +: 'int' and 'str'
    3. ZeroDivisionError:数值计算相关错误,除法或取模运算中除数为 0 时触发。
      print(10 / 0)
      # ZeroDivisionError: division by zero
  2. KeyboardInterrupt:用户中断
  3. SystemExit:程序退出

包管理器:PIP 是 Python 包的包管理器,什么是包?一个包包含模块所需的所有文件。模块是可以在项目中包含的 Python 代码库。

  1. 检查 PIP 是否已安装:打开电脑的命令提示符,在命令行中导航到 Python 脚本目录的位置,然后键入以下内容,pip --version,可检查 PIP 版本。
  2. 下载包:下载包非常容易。打开命令行界面,并告诉 PIP 下载你想要的包。在命令行中导航到 Python 脚本目录的位置,然后键入以下内容,pip install camelcase,这样就下载了名为“camelcase”的包。安装包时,通过-i参数指定镜像源,pip install 包名 -i 镜像源地址。以下是国内稳定且常用的 PyPI 镜像源。
    1. https://pypi.tuna.tsinghua.edu.cn/simple        清华大学
    2. https://mirrors.aliyun.com/pypi/simple/           阿里云
    3. https://repo.huaweicloud.com/repository/pypi/simple/          华为云
    4. https://pypi.mirrors.ustc.edu.cn/simple/         中国科学技术大学
  3. 使用包:安装包后,就可以使用了。将“camelcase”包导入你的项目。
    import camelcase
    c = camelcase.CamelCase()
    txt = "hello world"
    print(c.hump(txt))
  4. 移除包:pip uninstall camelcase,卸载名为“camelcase”的包。PIP 包管理器将询问你是否要确认移除 camelcase 包,按 y,包将被移除。

  5. 列出包:pip list,使用 list 命令列出系统上安装的所有包。也可以输入pip freeze > requirements.txt,以TXT文件导出自己的安装的包名。

正则表达式:正则表达式,或简称为正则,是用来描述字符模式的字符序列。正则表达式可以用来检查字符串是否包含指定的搜索模式。是个独有的工具:用来匹配或者提取字符串。不属于Python基础。属于编程基础。

  1. 正则表达式模块:re模块。
    1. findall方法:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表
      ,如果没有找到匹配的,则返回空列表。
      a = "python123123145java"
      print(re.findall("12", a))
      
      print(re.findall("12A", a))
    2. match方法:尝试从字符串的起始位置匹配一个模式,匹配成功返回的是一个匹配
      对象(这个对象包含了我们匹配的信息),如果不是起始位置匹配成功的话,match()返回的是空。
      a = "python123123java"
      data = re.match('python',a)
      # 得到的是一个对象,要用group()方法进行处理
      print(data.group())
      
      data2 = re.match('ython',a)
      print(data2.group())
      # 这里会报错,因为返回的是一个空值
    3. search方法:扫描整个字符串,匹配成功返回的是一个匹配对象(这个对象包含了我们匹配的信息),注意:search也只能匹配到一个,找到符合规则的就返回,不会一直往后找。
      a = "python123123java"
      data = re.search('python',a)
      # 得到的是一个对象,我们要用group()方法进行处理
      print(data.group())
      data2 = re.search('ython',a)
      print(data2.group())
  2. 元字符:
    1. 单字符匹配:
      字符描述
      .匹配任意1个字符(除了\n)
      []匹配 [] 中列举的字符
      \d匹配数字,即0-9
      \D匹配非数字,即不是数字
      \s匹配空白,即 空格,tab键
      \S匹配非空白
      \w匹配单词符,即a-z、A-Z、0-9、_
      \W匹配非单词字符
      b = '张三天天在玩4399小游戏,张三 hello 玩的.很开心'
      print(re.findall('...', b))
      print(re.findall('[三小]', b))
      print(re.findall('\d\d', b))
      print(re.findall('\D', b))
      print(re.findall('\s', b))
      print(re.findall('\S', b))
      print(re.findall('\w', b))
      print(re.findall('\W', b))
    2. 代表数量的元字符:
      字符描述
      *匹配前一个字符出现0次或者无限次,即可有可无
      +匹配前一个字符出现1次或者无限次,即至少有1次
      ?匹配前一个字符出现0次或者1次,即要么有1次,要么没有
      {m}匹配前一个字符出现m次
      {m,}匹配前一个字符至少出现m次
      {m,n}匹配前一个字符出现从m到n次
      b = '张三天在玩4399小游戏,张三三三 hello 玩的.很开心'
      
      print(re.findall(r'三{1}',b))     # 匹配前一个字符出现2次
      print(re.findall(r'三{1,}',b))   # 匹配前一个字符至少出现1次
      print(re.findall(r'三{1,2}',b))  # 匹配前一个字符出现从1到2次
    3. 贪婪和非贪婪:正则默认都是用贪婪模式去匹配数据,就是尽可能的多去匹配符合要求的数据,在非贪婪模式下,始终找最短的匹配。

      a = '<img src = "xiaopengyou.jpg" alt="这是图片">'
      b = '<html>000</html><td>ddd</td>'
      print(re.findall(r'<.*>',b))# 贪婪
      print(re.findall(r'<.*?>',b))# 加上?变成非贪婪
    4. 代表边界的元字符:
      字符描述
      ^匹配字符串开头
      $匹配字符串结尾
      \b匹配一个单词的边界
      \B匹配非单词边界
    5. 分组匹配:
      字符描述
      \|匹配左右任意一个表达式
      (ab)将括号中的字符作为一个分组

到此这篇关于Python异常处理、包管理器和正则表达式的文章就介绍到这了,更多相关Python异常处理、包管理器和正则表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python+opencv识别图片中的圆形

    python+opencv识别图片中的圆形

    这篇文章主要为大家详细介绍了python+opencv识别图片中的圆形 ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • netbeans7安装python插件的方法图解

    netbeans7安装python插件的方法图解

    新出来的NetBeans 7.0中默认的插件中心已经没有python插件了,下面教你在netbeans7上安装python插件
    2013-12-12
  • python协程异步IO中asyncio的使用

    python协程异步IO中asyncio的使用

    这篇文章主要介绍了python异步编程之asyncio的使用,python中异步IO操作是通过asyncio来实现的,为了更加详细说明asyncio,我们先从协程的最基础开始讲解
    2023-12-12
  • Python如何输出异常信息(行号)

    Python如何输出异常信息(行号)

    这篇文章主要介绍了Python如何输出异常信息(行号)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 使用Python自动化创建Word文档的详细过程

    使用Python自动化创建Word文档的详细过程

    在现代办公环境中,文档处理占据了我们大量的时间,尤其是那些重复性高、格式固定的报告、合同或批量通知,你是否曾梦想过,只需几行代码,就能让电脑自动生成这些Word文档,今天,我将带你深入探索如何利用Spire.Doc for Python库,高效、精准地创建和管理Word文档
    2025-10-10
  • Python海龟绘图(Turtle)应用指南

    Python海龟绘图(Turtle)应用指南

    python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics)。海龟绘图(turtle库)是python的内部模块,使用前导入即可。本文将展示三个通过海龟绘图实现的小程序,快来跟随小编一起学习吧
    2022-03-03
  • Python使用selenium实现网页用户名 密码 验证码自动登录功能

    Python使用selenium实现网页用户名 密码 验证码自动登录功能

    这篇文章主要介绍了Python使用selenium实现网页用户名 密码 验证码自动登录功能,实现思路很简单,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • Python中字符串切片详解

    Python中字符串切片详解

    这篇文章主要介绍了Python中字符串切片,在python中定义个字符串然后把它赋值给一个变量。我们可以通过下标访问单个的字符,跟所有的语言一样,下标从0开始。这时我们可以通过切片方式来截取出我们定义的字符串的一部分,下面小编将为大家详细介绍,需要的朋友可以参考下
    2021-10-10
  • Python入门教程(九)Python字符串介绍

    Python入门教程(九)Python字符串介绍

    这篇文章主要介绍了Python入门教程(九)Python字符串,Python是一门非常强大好用的语言,也有着易上手的特性,本文为入门教程,需要的朋友可以参考下
    2023-04-04
  • python操作mysql数据库

    python操作mysql数据库

    本篇文章主要介绍了python操作mysql数据库的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03

最新评论