python基础--模块、包、异常介绍(十一)

Python异常、模块、包 为什么要捕获异常?我们不是力求程序完美运行,而是在力所能及的范围内,对可能出现的bug,进行提前准备、提前处理(捕获异常)当我们的程序遇到了bug,那么接下来两种情况整个程序因为一个bug停止运行对bug进行提醒,整个程序继续运行命名,自定义模块名必须要符合标识符命名规则注意:函数在同一个模块里的名称一样,代码运行后执行后面的语句,前面的my_test被后面的覆盖什么是包? 阅读详情
# 继承
# 	假设有一个类,能够实现我们需要的大部分功能,但是不能实现全部功能,那么如何实现全部功能呢?
# 		1.如果直接在这个类中添加我们需要的功能,修改起来会很麻烦
# 		2.如果创建一个新类来实现全部功能,就会有很多重复劳动的工作。
# 		3.创建一个父类,来继承这个父类的属性和方法。
# 			继承是面向对象的三大特性之一,通过继承我们可以使一个类获取到其他类中的属性和方法,
# 			在定义类可以在类名后的括号中指定当前类的父类从而继承父类中的所有属性和方法。
class Animal:
	def __init__(self,name):
		self._name = name

	def run(self):
		print('animal run')
				
	def eat(self):
		print('eat')

# 使用当前类调用方法时,会先在调用类中查找是都有该方法如果调用的方法类中没有,
# 就会去该类的父类中查找,知道找到调用的方法。
class Dog(Animal):

	def __init__(self,name,age):
		# 通过调用父类的初始化方法来继承父类中的属性
		# Animal.__init__(self,name)
		# super()可以动态获取父类
		super().__init__(name)
		self._age = age

	# 子类和父类中有相同方法时会有限调用子类中的方法
	def run(self):
		print('dog run')

	def jump(self):
		print('jump')

	@property
	def name(self):
		return self._name

	@property
	def age(self):
		return self._age


a = Animal('ad')
d = Dog('jack',12)
d.jump()
d.run()
a.run()
print(d.name,d.age)

# d是否是dog,animal的实例
print(isinstance(d,Dog))
print(isinstance(d,Animal))

# 判断dog是否是animal的子类
print(issubclass(Dog,Animal))
# object是所有的类的父类
print(issubclass(Animal,object))


# 垃圾回收
# 	在程序运行过程好着呢产生的垃圾会影响到程序的运行性能,所以这些垃圾需要被清理
# 	在程序中没有被引用的对象就是垃圾,这些对象需要从内存中删除。
# 	python中有自动的垃圾回收机制,会将这些没有被引用的对象删除,所以在程序过程中不需要我们手动删除。
class A(object):
 	def __init__(self):
 		self.name = 'A'

 	def __del__(self):
 		print('删除了',self)

a = A()
print(a.name)


# 特殊方法,都是使用__开头和结尾的
# 特殊方法一般不需要手动调用,需要在特殊情况下自动执行
class Person(object):

	def __init__(self, name,age):
		self._name = name
		self._age = age

	# 用来将指定对象转换为字符串结果
	def __str__(self):
		return 'person [name = %s , age = %d]'%(self._name,self._age)

	# 该方法会在当前对象调用repr()函数时调用
	# 作用是指定对象在交互模式中直接输出的效果
	def __repr__(self):
		return 'hello'

p = Person('jack',12)
print(p)



# 模块化,是指将一个完整的程序分解为一个一个小的模块
# 通过将模块组合来搭建出一个完整的程序。
# 采用模块化的优点:
# 	方便开发维护
# 	模块可以被复用

# 在python中一个py文件就是一个模块,模块名的定义要符合标识符的规范
# 在一个模块中导入另一个模块
# 	1. import 模块名,如果重复引用只会创建一个实例,一般都是在文件的开头统一引入模块。
	# import module as m
# 	2. import 模块名 as 别名
# 每一个模块内部都有一个__name__属性,通过这个属性可以获取模块的名称
# __name__属性的名称为__main__的是主模块,一个程序中只会有一个主模块
# 主模块就是直接通过python执行的模块
import module as m
print(m.a,m.b) # 获取模块中定义的变量
m.test()

# 也可以只引入模块中的部分内容
# 语法 from 模块名 import 变量...
# from 模块名 import * 是引入模块中所有内容
from module import test
# 为引入的变量定义别名
from module import test as new_test
test()
new_test()

# 包,也是一个模块,当模块中代码过或者一个模块需要被分解成多个模块时就需要包。
# 模块是指一个py文件夹,而包是一个文件夹,文件夹中有多个py文件。
# 包中必须有一个__init__.py文件,该文件可以包含包中的主要内容
# 代码编译后包中会自动产生一个_pycache_文件夹,这是模块的缓存文件
# py代码在执行前,需要被解析器先转换为机器码,然后在执行
# 所以在使用模块时,需要将模块先转为机器码在去执行
# 为了提高程序运行的性能,python在编译一次后,会将代码保存在1一个缓存文件中。
# 这样在下次加载这个模块的时候就不用再重新编译而是直接加载缓存文件中的代码。


# python标准库,开箱即用
# sys模块,提供一些变量和函数,使我们可以获取python解析器的信息
import sys
# 获取执行代码时命令行中输入的参数,返回结果是一个列表
print(sys.argv)
# 获取当前模块中引入的所有模块返回结果是一个字典,key是模块名value是模块对象
print(sys.modules)
# 返回结果是模块的搜索路径
print(sys.path)
# 当前python运行的环境 
print(sys.platform)

import os
# 获取系统的环境变量
print(os.environ['path'])
# 获取系统的名字
print(os.system('dir'))




# 异常,程序在运行过程中,不可避免出现的一些错误,这些错误就是异常。
# 当异常发生时会导致程序立即停止,后面的代码就无法正常执行。
# 程序出现异常后,所有的异常信息会被保存在一个专门的异常对象中。
# 处理异常语法
#	try:
#		可能会出现异常的代码块
#	except:
#		出错后的处理内容
#	else:
#		没有出错执行的代码
# 语法要求:try代码块是必须的,else可有可无,except和finally至少有一个

# 自定义异常
# 	只需要继承Exception
class myError(Exception):
	pass


try:
	print(10/0)
# except : 该写法会捕获所有的异常
# except 异常类型:只会捕获对应类型的异常
except ZeroDivisionError as z:
	print('ZeroDivisionError error',z)
	# raise myError('123')
# Exception是所有异常类的父类
except Exception as e:
	print('error',e)
	# 向调用处抛出异常
	raise Exception('数字错误')
else:
	print('normal')
finally:
	print('always execute')


 

Verilog仿真必备:FSDB dump命令全解析与实战配置指南 本文深入解析了Verilog仿真中FSDB波形记录的核心命令与实战配置技巧。针对大规模SoC验证场景,详细介绍了如何通过$fsdbDumpvars、$fsdbDumpfile等命令实现信号精准捕获、文件体积控制和动态启停,并提供了智能化的分层dump策略,帮助工程师在保证调试信息完整性的同时,大幅提升验证效率并有效管理波形数据。 阅读详情

相关推荐

realsense D455深度相机+YOLO V5结合实现目标检测(一)

realsense D455深度相机+YOLO V5结合实现目标检测代码来源环境配置代码分析:1.如何用realsense在python下面调用的问题:2.对main_debug.py文件的分析:结束语 可以实现将D435,D455深度相机和yolo v5结合到一起,在识别物体的同时,还能测到物体相对与相机的距离。 说明一下为什么需要做这个事情?1.首先为什么需要用到realsense D455深度相机? 因为他是普通的相机还加了一个红外测距的东西,所以其他二维图像一样,能够得到三维世界在二维像素平面的投影

文一生 3万+

python基础——异常、模块和包、pyecharts

python基础——异常、模块和包、pyecharts

ning_xiao_xuan的博客 1784

从零复刻平衡小车(基于STM32F1)

平衡小车(基于STM32F1)

Legendyyy的博客 5039

Python异常模块与包

模块定义别名import 模块名 as 别名# 功能定义别名from 模块名 import 功能 as 别名注意:模块的导入一般都在开头的地方写好,再到下面写功能代码Python自定义模块是指用户自己编写的一个Python脚本文件,其中包含了一些函数、类或变量等,可以供其他Python程序使用。创建一个以.py为后缀的Python脚本文件,例如module.py。在脚本文件中定义函数、类或变量等。在其他Python程序中,通过import语句导入自定义模块,并使用其中的函数、类或变量等。

没技术的博客 1855

手把手教你用示波器测试DDR5 DRAM信号完整性(附眼图分析技巧)

本文详细介绍了如何使用示波器测试DDR5 DRAM信号完整性,包括眼图分析技巧。从DDR5的核心挑战、测试设备选型到实测工作流程,提供了全面的指导。特别强调了DFE功能验证和系统级协同测试,帮助工程师解决信号完整性问题,提升测试效率。

g2h3i4j5的博客 1152

【K8S系列】Kubernetes 中 Pod 无法通过 Service 名称访问服务的 DNS 解析失败问题【已解决】

在 Kubernetes 中,Service 提供了一种稳定的方式,通过名称访问一组 Pod。当其他 Pod 无法通过 Service 名称访问服务,并且出现 DNS 解析失败时,通常会导致应用无法正常工作。本文将详细分析此问题的常见原因及其解决方案。

颜淡慕潇 1万+

第七章 Python基础进阶-异常、模块与包(其五)

基本语法:import导入模块代码演示案例:from导入模块代码演示案例如下:from 模块名 import*的导入模块的代码演示如下:总结:导入模块语法:导入模块的注意事项:(1)from可以省略,直接import即可(2)as别名可以省略(3)通过”.”来确定层级关系(4)模块的导入一般写在代码文件的开头位置Python中已经帮我们实现了很多的模块,不过有时候我们需要一些个性化的模块,这里就可以通过自定义模块实现,也就是自己制作一个模块。

2403_88453964的博客 3184

EMC意义下的共模(Common Mode)和差模(Differential Mode)

在电子产品中,信号或电源通过两根导线传输。对比维度差模(DM)共模(CM)电流方向一进一出,相等相反同向、相等回流路径两根导线组成的闭合回路地或外壳EMC影响较小容易辐射干扰,重点治理类型定义有用信号干扰信号抑制方法常规滤波器、电感、电容共模电感、磁环、屏蔽、接地技术等。

weixin_43199439的博客 1246

python中异常模块与包

在Python中,模块可以分为三种不同的类型,分别是内置模块(Built-in Modules)、标准库模块(Standard Library Modules)和第三方模块(Third-Party Modules)。通过使用包,可以将相关的模块组织在一起,帮助管理和维护代码。内置模块(Built-in Modules):这些模块是Python解释器自带的,无需额外安装即可使用。表示导入包中的模块。总的来说,捕获异常用于处理程序中的异常情况,而抛出异常则使得代码更加健壮,规范地处理各种异常情况。

2402_88219100的博客 1092

计算机等级考试(二级WPS)---真题14套

目录 真题14一、选择题二、WPS文字三、WPS表格四、WPS演示21.打开考生文件夹下的素材文档 “WPS.docx”(.docx 为文件扩展名),后续操作均基于此文件,否则不得分。小周正在整理一份关于极光的文档,请按要求帮助她完成文档的排版工作。1.将全文中的手动换行符全部替换为中文句号并回车,删除文中的空行和空格。2.将正文第 2 段(“在我國的古書…… 極光”)中的繁体字转换成简体字,并为其设置 “正文” 样式。3.对文档样式进行如下设置:4.为 “1.3 极光的形态” 一节中列出的五种极光形态特征

2401_82750246的博客 1167

Open3D 进阶(22)间接平差法拟合空间曲线

空间曲线拟合在电力线三维重建中有着广泛的应用,本文利用python使用间接平差法对三维空间曲线的拟合进行代码实现。

点云侠的博客 1057

深入浅出Python——Python高级语法之异常、模块、包

前言:本博文主要讲解Python异常、模块、包,属于Python高级语法。基础语法见:深入浅出Python——Python基础语法全解,更多内容请访问博主的主页,谢谢! 文章目录一、了解异常二、异常的写法1. 语法2. 快速体验3. 捕获指定异常3.1 语法3.2 体验3.3 捕获多个指定异常3.4 捕获异常描述信息3.5 捕获所有异常4. 异常的else5. 异常的finally三、异常的传递四、自定义异常五、模块1. 导入模块1.1 导入模块的方式1.2 导入方式详解1.2.1 import1.2.2

路虽远,行则必至! 3350

【报错】(pycharm运行程序)OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading

1 报错 OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading 2 分析原因 通过 activate Distance 进行自己创建的 Distance 虚拟环境中,输入python会显示环境中python的版本信息,再依次import,显然不会报错。 这是因为在Anaconda的环境下有支持 import torch 的 dll,而在PyCharm中使用的是自己创建的新环境,还缺少相应支持的dll,仅需在PyCharm中配置环境变量。.

静谧、淡雅 8622

python—python异常、模块与包

python中已经帮我们实现了很多的模块,不过有时候我们需要一些个性化的模块,这里就可以通过自定义模块实现,也就是自己制作一个模块案例:新建一个python文件,命名为my_modulel.py,并定义test函数注意:每个python文件都可以作为一个模块,模块的名字就是文件的名字,也就是说自定义模块名必须要符合标识符命名规则注意事项#模块1代码print(a+b)#模块2代码print(a-b)#导入模块和调用功能代码#my_test函数是模块2中的函数。

Trying and Harding的博客 1100

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python学习从0到1 day17 Python异常、模块、包

万字长文,讲解异常、模块、包

m0_73983707的博客 2309

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Python】异常、模块与包

为什么要捕获异常?在可能发生异常的地方,进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。捕获异常的语法?如何捕获所有异常?异常的种类多种多样,如果想要不管什么类型的异常都能捕获到,那么使用:except:两种方式捕获全部的异常三、异常的传递异常具有传递性四、Python模块模块的导入什么是模块导入Python内置的模块自定义模块如何自定义模块并使用__main__变量的作用Python模块(Module)

咖喱年糕的博客 1098

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python 异常的捕捉与包

简单的说异常就是bug,包就是多个模块(.py的文件)和一个__inti__.py。此篇文章为大家做出总结。

笨笨轻松熊的博客 2401

Python异常模块和包

模块的作用: python中有很多各种不同的模块, 每一个模块都可以帮助我们快速的实现一些功能, 比如实现和时间相关的功能就可以使用time模块我们可以认为一个模块就是一个工具包, 每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能。包的作用:当我们的模块文件越来越多时,包可以帮助我们管理这些模块, 包的作用就是包含多个模块,但包的本质依然是模块。当导入多个模块的时候,且模块内有同名功能. 当调用这个同名功能的时候,调用到的是后面导入的模块的功能。

注释写满人生 1015

【Python】模块与包

本文介绍了Python中模块和包的基本概念及使用方法。主要内容包括:模块的定义、导入方式(基础导入、别名导入、选择性导入等)、自定义模块的注意事项(测试代码处理、同名功能冲突、__all__变量限制);包的概念、创建方法、导入方式及限制导入;第三方包的安装方法(pip命令、镜像源配置、Pycharm中安装)。文章通过具体示例演示了模块和包的实际应用,帮助开发者更好地组织Python代码并提高开发效率。

2302_81115588的博客 1万+

Python—异常、模块与包

Python中已经帮我们实现了很多的模块,不过有时候我们需要一些个性化的模块,这时候就可以通过自定义模块,也就是自己制作一个模块注意:每个Python文件都可以作为一个模块,魔魁哎的名字就是文件的名字,也就是说自定义模块名名必须要符合标识符命名规则# my_model_1.py中的代码print(a+b)# 调用时的代码# 导入自定义模块# 1# 结果:3# 2test(2,3)# 结果:5注意事项。

谢佳瑞的博客 1049

笔记∶Python异常、模块与包

模块的作用: python中有很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,比如实现和时间相关的功能就可以使用time模块我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能.当函数func01中发生异常,并且没有捕获处理这个异常的时候,异常会传递到函数func02,当func02也没有捕获处理这个异常的时候main函数会捕获这个异常,这就是异常的传递性.注意事项∶当导入多个模块时,且模块内有同名功能的时候,掉用到的是后面导入的模块的功能。

2401_86546869的博客 1734

Python学习路线 - Python语言基础入门 - Python异常、模块与包

当检测到一个错误时,Python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常",也就是我们常说的BUGPython 模块(Module),是一个Python文件,以.py结尾。模块能定义函数,类和变量,模块里也能包含可执行的代码。模块的作用:Python中很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,比如实现和时间相关的功能就可以使用time模块。我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能。

mry6的博客 1462

Python学习笔记(七):了解异常、异常的捕获方法、异常的传递、Python模块、python包

4.2.1 如何自定义模块并导入在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用。例如:新建一个Python文件,命名为my_module1.py,并定义test函数注意:每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 也就是说自定义模块名必须要符合标识符命名规则4.2.2 测试模块在实际开发中,当一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果,

weixin_62764364的博客 1643

Python基础:19、Python异常、模块与包

注意:自定义模块名必须要符合标识符命名规则。

m0_68512456的博客 1113

python中的异常-模块-包

python中的异常-模块-包

SO_zxn的博客 1545

Python基础:异常、Python模块、Python包

(1)新建Python模块,命名为 my_moudle1.py,定义test函数"""my_moudle1"""# 自定义模块test(1, 1)test(1, 1)t(1, 1)注意:每个Python文件都可以作为一个模块,模块的名字就是文件的名字,也就是说自定义模块必须符合标识符命名规则。导入多个模块时,且模块内有同名功能,当调用这个同名功能时,调用到的是后面导入的模块的功能。

2201_75902775的博客 1131
上一篇: python基础--装饰器、类的介绍(十)
下一篇: Linux基本操作命令--文件权限(十)
geek-wmy
博客等级 码龄9年 322粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值