ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day13-模块和异常

2022-03-02 20:59:06  阅读:146  来源: 互联网

标签:代码段 导入 模块 day13 print import 异常


day13-模块和异常

1.模块

1.认识模块
"""
1)python中一个py文件就是一个模块
2)模块分为系统模块和自定义模块
系统模块: python自带的模块, 例如: functools、math、random、re、time、datetime、turtle、smtplib、socket
自定义模块: 由程序员自己创建的模块
"""
2.导入模块 - 怎么在一个模块中去使用另外一个模块中的内容
"""
如果我们想要使用的内容(变量、函数、类)在另外一个模块中,可以用,但是在使用之前必须先导入
一个模块中的内容想要能被其他模块使用的前提: 模块名必须符合变量名的要求(是标识符, 不是关键字)
"""
3.怎么导
"""
1) import 模块名   -  导入指定模块, 导入后可以通过'模块名.'的方式使用这个模块中所有的全局变量
2) from 模块名 import 变量名1,变量名2,...  -  导入指定模块, 导入后可以直接使用import后面的所有变量
3) from 模块名 import *  -  导入指定模块,导入后可以直接使用模块中所有的全局变量
4) 重命名
import 模块名 as 新模块名  -  对模块名重新命名
from 模块名 import 变量名1,变量名2 as 新变量名2,...   -   对变量重命名
"""
# =========导入方式1==============
import demo1

print(demo1.a1)
print(demo1.func1())

# 同时导入两个模块
import demo1, random

# ============导入方式2===============
from demo1 import a1
print(a1)
print(func1)

# ===========导入方式3================
from demo1 import *
print(a1)
func1()

# ===========模块重命名===============
import demo1 as de
demo1 = '测试'
print(demo1)
print(de.a1, de.func1())

4. 导入的原理与阻止导入
"""
1)导入的原理
不管是通过import直接导入模块,还是通过from-import导入模块中的变量, 原理都是进入指定模块, 将模块中的代码全部执行一遍

2)阻止导入
在呗导入的模块中加指定的if语句(main提示出来的if语句), 将不需要被别的模块执行的代码放到这个if语句中

if __name__ == '__main__':
    需要被阻止导入的代码

2.包

1. 什么包

包含__init__.py文件的文件加就是包

2. 导入包中的模板
# ====================导入方式1===================
# import 包.模块 as 新模块名
# import package1.jsonfile as js
# js.read_json()

# ====================导入方式2===================
# from 包 import 模块1,模块2,...
# from 包 import *
from package1 import jsonfile
jsonfile.read_json()
print(jsonfile.x, jsonfile.name)

# ====================导入方式3===================
from 包.模块 import 变量1,变量2,...
from package1.jsonfile import read_json, name
read_json()
print(name)

# ====================导入方式4===================
# 如果要使用包中__init__.py中内容, 直接用包去导入和使用
# 1.创建快捷键
from package1.data.exceldata import xx

# 2.封装通用功能
def open_file():
    print('打开文件')

import package1
package1.open_file()
print(package1.xx)

3.异常捕获

1.异常
"""
异常就是错误(程序报错 == 程序出现异常)
如果执行程序的过程中出现异常,程序会直接结束,不会再接着往后执行
"""
print('==============')
print('++++++++++++++')
print('!!!!!!!!!!!!!!')
2.异常捕获
"""
异常捕获就是让程序在出现异常的时候,不报错,并且可以继续执行。

什么时候需要异常捕获: 明明知道某段代码可能会出现异常,但是出现异常的原因不是代码写错了,而是因为用户使用者操作不当导致的,
                   又不想因此导致程序崩溃,就可以使用异常捕获

1)语法1  -  捕获所有的异常
try:
    代码段1(需要捕获异常的代码段)  
except:
    代码段2(捕获到异常后会执行的代码)
其他代码

执行过程:先执行代码段1,执行过程中如果出现异常不报错马上执行代码段2,然后再执行后续的其他代码.
        如果代码段1没有出现异常, 不执行代码段2, 直接执行后续的其他代码.

2)语法2  -  捕获指定异常
try:
    代码段1(需要捕获异常的代码段)
except 异常类型:
    代码段2(捕获到异常后会执行的代码)
   
3)语法3  -  同时捕获多种异常,针对不同异常做相同的处理
try:
    代码段1(需要捕获异常的代码段)
except (异常类型,异常类型2,...):
    代码段2(捕获到异常后会执行的代码)
    
    
4)语法4  -  同时捕获多种异常,针对不同异常做不一样的处理
try:
    代码段1(需要捕获异常的代码段)
except 异常类型1:
    代码段11
except 异常类型2:
    代码段22
...
"""
try:
    age = int(input('请输入年龄(年龄是整数):'))
    print(age + '12')
except ValueError:
    print('年龄输入有误!')
3. 抛出异常 - 主动让程序崩溃

raise 异常类型
raise IndexError

标签:代码段,导入,模块,day13,print,import,异常
来源: https://blog.csdn.net/lth__deseka/article/details/123240073

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有