python基础 | 模块与异常

news2024/10/7 12:26:43

1、模块

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句

模块让你能够有逻辑地组织你的 Python 代码段,不可能把代码写在一起
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。把代码揉到一起不便于 复用

模块能定义函数,类和变量,模块里也能包含可执行的代码

my_module.py

import sys


def get_path():
    print('The PYTHONPATH is', sys.path, '\n')


class Demo:
    a = 88

    def func(self):
        print("I am a member: ", self.a)

test.py

import my_module as a # 换了个名字
from my_module import Demo # 只引入了一个类,只引入了一部分,import * 引入全部

a.get_path()
d = Demo()
d.func()

输出结果

The PYTHONPATH is ['D:\\BaiduNetdiskDownload\\学员资料-20230710\\学员资料\\Python\\python基础\\13-模块', 'D:\\BaiduNetdiskDownload\\学员资料-20230710\\学员资料\\Python\\python基础\\13-模块', 'D:\\miniconda\\python311.zip', 'D:\\miniconda\\DLLs', 'D:\\miniconda\\Lib', 'D:\\miniconda', 'D:\\miniconda\\Lib\\site-packages', 'D:\\miniconda\\Lib\\site-packages\\win32', 'D:\\miniconda\\Lib\\site-packages\\win32\\lib', 'D:\\miniconda\\Lib\\site-packages\\Pythonwin'] 

I am a member:  88

2、异常

except 从句 可以专门处理 单⼀的错误或异常。如果没有给出错误或异常的名称,它会处理所有的错误和异常

对于每个 try 从句,至少都有⼀个相关联的 except 从句异常 就是用来处理错误的,对于抛出的异常:解决或结束程序

2.1 数值错误异常

while True:
     try:
         n = input("请输入一个整数: ")
         n = int(n)
         break
     except ValueError as e:
         print("无效数字,异常内容为:", e) # e就是异常的类型,异常结束之后再进入while
print("\n\n")

输入a,输出
在这里插入图片描述
输入1,结束程序

2.2 IO异常

import sys

try:
    f = open('test.txt')
except IOError as e:
    print("I/O error", e)

没有对应文件test.txt,输出结果
在这里插入图片描述

2.3 自定义异常

class MyException(Exception): # 需要继承标准的异常类的实现,C++/python异常都是以类来实现的
    def __init__(self, length, atleast):
        Exception.__init__(self)
        self.length = length
        self.atleast = atleast

很多时候,我们可预知某种错误的时候,希望在调用方 来处理异常,可以使用 已有异常类型
或者 ⾃定义异常,通过 raise 抛出去

try:
    s = input('Enter something --> ')
    if len(s) < 10:
        raise MyException(len(s), 10)
except MyException as x: # 捕获MyException异常
    print('MyException: The input was of length %d, \
          but we expect length at least %d' % (x.length, x.atleast))
else:
    print('No exception was raised.')

输入1234 / qweiutieuiut
输出
在这里插入图片描述
在这里插入图片描述

3、finally关键字

如果我们不管是否有异常,都执⾏某段代码,可以使用finally关键字

def test():
    try:
        print('to do stuff')
        raise Exception('hehe') # 抛出异常程序就终止了
    except Exception:
        print('process except')
        print('to return in except')
        return 'except'
    finally: # 即使有异常,把没有做的工作做完,不管有没有异常都会执行
        print('to return in finally')
        return 'finally'


res = test()
print('test finally function returns : ' + res)

运行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1460118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Backtrader 量化回测实践(1)—— 架构理解和MACD/KDJ混合指标

Backtrader 量化回测实践&#xff08;1&#xff09;—— 架构理解和MACD/KDJ混合指标 按Backtrader的架构组织&#xff0c;整理了一个代码&#xff0c;包括了Backtrader所有的功能点&#xff0c;原来总是使用SMA最简单的指标&#xff0c;现在稍微增加了复杂性&#xff0c;用MA…

读写锁学习笔记

1、数据结构 读锁是共享模式&#xff0c;写锁是独占模式&#xff0c;两个锁也公用一个AQS 两者共用一个state来表示&#xff0c;state前16位表示读锁&#xff0c;后16位表示写锁 读锁操作 通过向右位移16位&#xff0c;然后进行操作 写锁操作 通过和0000 0000 0000 0000 111…

CheatEngine基础进阶篇

我们在上一篇文章里说了CE的安装,汉化以及最基础最基础的值扫描和修改方法,当然很多游戏不能通过这些简单的手段就能达到修改值的效果,因此我们还需要掌握以下几个重要的知识点: 指针寻址 上一步阐述了如何使用"代码查找"功能对付变化位置的数据地址,但这种方法…

【医学大模型 逻辑准确】PLPF:将医生诊断逻辑集成到大模型

PLPF&#xff1a;将医生诊断逻辑集成到大模型 提出背景规则建模偏好数据构建人类偏好对齐 实验结果不同模型对比论文复现 提出背景 论文&#xff1a;https://arxiv.org/pdf/2401.05695.pdf 起始问题: 如何提高大型语言模型&#xff08;LLMs&#xff09;在医疗对话生成中的逻辑…

docker (八)-dockerfile制作镜像

一 dockerfile dockerfile通常包含以下几个常用命令&#xff1a; FROM ubuntu:18.04 WORKDIR /app COPY . . RUN make . CMD python app.py EXPOSE 80 FROM 打包使用的基础镜像WORKDIR 相当于cd命令&#xff0c;进入工作目录COPY 将宿主机的文件复制到容器内RUN 打包时执…

CV论文--2024.2.21

source:CV论文--2024.2.21 1、Binary Opacity Grids: Capturing Fine Geometric Detail for Mesh-Based View Synthesis 中文标题&#xff1a;二元不透明度网格&#xff1a;捕获精细的几何细节以进行基于网格的视图合成 简介&#xff1a;尽管基于表面的视图合成算法由于其低计…

uni-app常用组件 App开发 小程序开发 这篇就够了

目录 一、uni-app官网网址 二、uni-app常用组件 1.视图容器 1.1 view 1.2 scroll-view 1.3 swiper 1.4 movable-area 1.5 movable-view 2.基础内容 2.1 icon 2.2 text 2.3 rich-text 3.表单组件 3.1 button 3.2 checkbox-group 3.3 form 3.4 input 3.5 label…

[经验] 什么是鄱阳湖旅游最主要的景点 #知识分享#知识分享

什么是鄱阳湖旅游最主要的景点 鄱阳湖是中国最大的淡水湖&#xff0c;位于江西省北部和湖南省南部。鄱阳湖旅游资源丰富&#xff0c;景色秀美&#xff0c;是游客游览江西最热门的旅游胜地之一。在所有的景点中&#xff0c;以下是鄱阳湖旅游中最主要的景点。 景点一&#xff1…

六西格玛培训对职场和财务的长期影响——张驰咨询

在当今竞争激烈的商业环境中&#xff0c;公司不断寻求提高质量和效率的方法&#xff0c;六西格玛&#xff08;Six Sigma&#xff09;作为一种旨在减少缺陷、提升产品和服务质量的管理策略&#xff0c;成为了很多企业的选择。然而&#xff0c;实施六西格玛需要专业的培训和认证&…

银河麒麟系列产品全新介绍——麒麟天御安全域管平台

麒麟天御安全域管平台是麒麟软件自主研发的新一代终端系统域管理平台,是专门针对银河麒麟操作系统环境下大规模的域用户和终端管理需求而设计。该平台聚焦用户身份验证、权限、访问控制、集中化管理、单点登录、策略等多个领域,提供组织管理、用户管理、终端管理、任务管理、软…

【python】windowslinux系统python的安装

一、python官网及下载路径 官网地址&#xff1a;Welcome to Python.org 下载路径&#xff1a;Download Python | Python.org ​​​​​​​ linux源码安装包下载&#xff1a; windows二进制安装包下载&#xff1a; 二、Linux如何安装python 2.1 单版本安装 以安装python…

防御保护---内容保护

文章目录 目录 文章目录 一.防火墙内容安全概述 二.深度识别技术&#xff08;DFI/DPI&#xff09; 深度包检测技术&#xff08;DPI&#xff09; 深度流检测技术&#xff08;DFI&#xff09; 两者区别 三.入侵防御IPS 一.防火墙内容安全概述 防火墙内容安全是防火墙的一个重…

即时设计和sketch对比

在设计领域&#xff0c;有很多易于使用的设计软件&#xff0c;每个软件都有自己的特点&#xff0c;但在使用中也会有一些限制。例如&#xff0c;传统的Sketch。Sketch是一款古老的UI设计软件。自2010年推出以来&#xff0c;已有10多年的历史&#xff0c;但它始终仅限于MAC。到目…

java中实体pojo对于布尔类型属性命名尽量别以is开头,否则 fastjson可能会导致属性读取不到

假如我们有一个场景&#xff0c;就是需要将一个对象以字符串的形式&#xff0c;也就是jsonString存到一个地方&#xff0c;比如mysql&#xff0c;或者redis的String结构。现在有一个实体&#xff0c;我们自己创建的&#xff0c;叫做CusPojo.java 有两个属性是布尔类型的&#x…

微调实操三:人类反馈对语言模型进行强化学习(RLHF)

1、前言 前面我们在《微调实操一: 增量预训练(Pretraining)》和《微调实操二: 有监督微调(Supervised Finetuning)》实操的两个章节&#xff0c;学习了PT(Continue PreTraining)增量预训练和SFT(Supervised Fine-tuning)有监督微调过程,&#xff0c;今天我们进入第三阶段的微调…

【微服务生态】Docker

文章目录 一、基础篇1. 简介2. 下载与安装3. 常用命令3.1 帮助启动类3.2 镜像命令3.3 容器命令 4. Docker 容器数据券5. Docker 镜像5.1 commit 生成镜像5.2 Docker Registry5.3 发布镜像 6. Docker 常规安装软件 二、高级篇1. Dockerfile1.1 概述1.2 基础知识1.3 Dockerfile常…

软件测试工程师经典面试题

软件测试工程师&#xff0c;和开发工程师相比起来&#xff0c;虽然前期可能不会太深&#xff0c;但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位&#xff0c;问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件…

豆粕贸易商的二次点价策略:如何在价格波动中获得收益补贴?

贸易商如何通过衍生品工具实现二次点价&#xff1f; 贸易商交易惯例&#xff1a;以豆粕贸易商和油厂签订的基差采购合同为例&#xff0c;同理可以类推至其他板块上下游企业。 按照交易惯例&#xff0c;贸易商通常会持有基差合同&#xff0c;但并不会先点价。当价格从高点到低…

饮用水、地下水深度去除全氟烷基物质的技术

摘要&#xff1a;全氟烷基物质&#xff08;PFAS&#xff09;是一组广泛存在于环境中的化学物质&#xff0c;对人体健康构成潜在威胁。本文将探讨PFAS的来源、危害以及饮用水处理中去除PFAS的方法&#xff0c;特别是离子交换树脂技术的应用&#xff0c;以期为公众提供环境保护和…

智慧水利数字孪生可视化,满屏黑科技!A3D引擎支持,免费即可搭建

2024年1月&#xff0c;在北京召开的全国水利工作会议&#xff0c;强调了要大力推进数字孪生水利建设&#xff0c;全面提升水利监测感知能力。 除此之外&#xff0c;2035年远景目标也提出&#xff1a;构建智慧水利体系&#xff0c;以流域为单元提升水情测报和智能调度能力。《数…