首页 > 编程语言 >Python异常、模块与包

Python异常、模块与包

时间:2024-07-06 16:55:13浏览次数:18  
标签:__ Python python test 导入 模块 print 异常

一、了解异常

定义:当python运行检测到错误时,会无法继续执行,这就称为异常,也成为报错(bug)。

二、异常的捕获方法

定义:当出现异常时,可以不管,那么程序会停止执行,也可以对BUG进行提醒,整个程序继续运行,捕获异常的作用是提前假设某处会出现异常,做好提前准备,当真的出现异常时,可以有后续手段。

2.1 基本捕获的语法

try:

   可能发生异常的代码

except:

   如果出现异常执行的代码

举例:打开不存在的文件,然后换一种方式打开文件

try:
    f = open('D:/ActivationInfo.txt','r')
except:
    print("出现异常了,文件不存在,改为w模式去打开")
    f = open('D:/ActivationInfo.txt','w')

2.2 捕获指定的异常

例如:指定捕获NameError异常

语法:

try:

    print(name)

except NameError as e:

    print(‘name变量名称定义错误’)

其中,e中存着具体异常信息。

还有其他类型的异常,可以通过python报错提醒获取异常类型名称。

2.3 捕获多个异常

语法:

try:

    print(name)

except (NameError,ZeroDivisionError) as e:

    print(‘出现异常了’)

2.4 捕获全部异常

语法:

try:

    print(name)

except Exception as e:

    print(‘出现异常了’)

2.5 异常的else(可选)

定义:指的是没有异常时执行的代码。

语法:

try:

    print(1)

except Exception as e:

    print(e)

else:

    print('没有异常')

2.6 异常的finally(可选)

定义:表示无论是否异常都要执行的代码,例如关闭文件。

语法:

try:

   f = open('test,txt', 'r')

except Exception as e:

   f = open('test,txt', 'w')

else:

    print('没有异常')

finally:

     f.close( )

三、异常的传递

四、python模块

定义:python的模块(Module),是一个python文件,以.py结尾,模块可以定义函数,类,变量,也可以含可执行的代码。

作用:每一个模块可以帮助我们快速实现一些功能,可以把一些相同或相关功能的代码放入同一个模块中,可以直接导入该模块到工程中使用。

4.1 模块的导入(import)

语法:

[from 模块名]  import  [模块 | 类 | 变量 | 函数 | * ]  [as 别名 ]

其中,* 表示导入模块的全部内容,[ ]内的是可选参数。

举例:调用python中自带的time模块,并使用里面的sleep延时函数。

1. 基本用法:

import time
print(1)
time.sleep(5)
print(2)

2. 导入一个/多个功能:

此时time里其它功能都用不了。

from time import sleep,...
print(1)
sleep(5)
print(2)

3. 导入所有功能:

和基本用法相比,只是调用函数的写法不同。

from time import *
print(1)
sleep(5)
print(2)

4. 导入后改名:

有的模块名字或者需要用到的功能名字太长,不方便调用,则可以as给它改名。

import time as t
print(1)
t.sleep(5)
print(2)
from time import sleep as sl
print(1)
sl(5)
print(2)

4.2 自定义模块

1. 指定自定义模块:只需要新建一个python文件,并定义一些相关函数即可。需要用到该模块时,就按上述方法导入调用即可。

2. 导入不同模块的同名功能时,调用的时候使用的是放在最后面的模块里的功能。

4.3 __main__变量的使用

       在导入自定义模块的同时,本质上已经把该自定义模块执行了,所以如果自定义模块里有执行语句,在调用时就会被执行。如果不想在被导入的时候把自定义模块里面的测试语句执行,可以使用__main__变量。

用法:

def test(x,y):
    return x+y
if __name__ == '__main__':
    test(1,3)

       把执行代码放进if __name__ == '__main__':语句里,就只有在该模块界面右键执行时会执行该语句,在别的模块导入就不会执行该语句。

4.4 __all__变量的使用(适用于* 的使用)

        如果一个模块中有‘__all__’变量(存着一个函数名列表),当使用 from xxx import * 导入时,只能导入这个列表中的元素。

用法:

__all__ = ['test_A']

def test_A():
    print("test_A")
def test_B():
    print("test_B")

在用 * 导入该模块的所有功能时,只能使用test_A函数。

五、python包

5.1 自定义包

定义:当python模块非常多的时候需要管理模块,包可以帮助管理,相当于是比模块更大的一个层次。

用法:在工程文件出鼠标右键创建一个包,里面需要包含__init__.py文件。

导入包里的模块用法:

### 创建一个包,并导入包内的模块
from my_package import my_test  # 从my_package包中导入my_test模块
my_test.add1(1,2)
from my_package.my_test import add1  # 从my_package包的my_test模块中导入add1功能
add1(2,3)

注意:

1. __init__.py文件可以什么都不写,但必须存在这个文件,才能表示这个文件夹是个python包。

2. python包和目录的区别:目录是不能被导入或者包含其它的模块和嵌套包的,只是起到一个普通的文件夹的作用。 

5.2 安装第三方包

标签:__,Python,python,test,导入,模块,print,异常
From: https://blog.csdn.net/qq_68583518/article/details/140225922

相关文章

  • 个人python面试准备的一些题型
    Python类方法vs静态方法类方法(ClassMethods)类方法使用@classmethod装饰器定义,它们的第一个参数通常命名为cls,代表类本身。特点:可以访问和修改类的状态不能访问实例的状态可以用来定义替代构造器示例:classMyClass:class_variable=0@classmethoddefi......
  • 《从零开始学习Python爬虫:顶点小说全网爬取实战》
    顶点小说装xpathhelperGitHub-mic1on/xpath-helper-plus:这是一个xpath开发者的工具,可以帮助开发者快速的定位网页元素。Question:加载完插件点击没反应Answer:将开发人员模式关闭即可爬虫介绍分类:搜索引擎:爬取范围广聚焦爬虫:爬取范围聚焦介绍:程序发起请求(request),......
  • Python OS模块操作文件
    在Python中,可以使用os模块主要对文件进行重命名,删除等一些操作以下为os模块常用的方法示例:重命名操作importosos.rename('Test.txt','Test_重命名.txt')#参数1:要重命名的源文件#参数2:对源文件要重新命名的名称删除文件importosos.remove('Test_重命名.tx......
  • 【Python实战因果推断】23_倾向分3
    目录PropensityScoreMatchingInversePropensityWeightingPropensityScoreMatching另一种控制倾向得分的常用方法是匹配估计法。这种方法搜索具有相似可观测特征的单位对,并比较接受干预与未接受干预的单位的结果。如果您有数据科学背景,您可以将匹配视为一种简单的......
  • Python统计实战:时间序列分析之二阶曲线预测和三阶曲线预测
    为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。(以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。)练习题下表是某只股票连续35个交易日的收盘价格(前3行和后3行......
  • Python统计实战:时间序列分析之一元线性回归预测和指数曲线预测
    为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。(以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。)练习题下表是某只股票连续35个交易日的收盘价格(前3行和后3行......
  • python-docx库 写入docx时中文不适配问题,中文异常问题解决办法。
    python-docx库写入docx时中文不适配问题,中文异常问题解决办法。通过以下方法可以成功将正文修改为宋体字体。这个是全文设置。fromdocx.oxml.nsimportqndoc=Document()doc.styles['Normal'].font.name=u'宋体'doc.styles['Normal']._element.rPr.rFonts.set(qn('w:......
  • 使用Python绘制甘特图
    使用Python绘制甘特图甘特图效果代码甘特图甘特图是一种项目管理工具,用于展示项目进度和任务安排。它通过条状图形表示各任务的起止时间,便于直观地查看项目的各个任务的进度和相互关系。效果[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(im......
  • 十分钟学习Python异常处理
    十分钟学习Python异常处理在编程过程中,错误和异常是不可避免的。Python提供了强大的异常处理机制,帮助我们捕获和处理运行时错误,使程序更加健壮和可靠。本文将带你在十分钟内快速掌握Python的异常处理基础知识。1.什么是异常?异常是指在程序运行过程中发生的错误,它会中断程序......
  • 一个基于Flask框架的Python Web应用程序
    dashboard.py主要实现了以下功能:1.用户注册与登录:提供了用户注册和登录的功能,用户的密码会被哈希处理后存储在users.json文件中。2.文件管理:实现了简单的文件管理功能,包括列出文件夹中的文件、上传文件和删除文件。只有管理员用户才能进行文件管理操作。3,路由定义:定义了......