Python基础(异常,模块,包)

本文详细介绍了Python中的异常处理机制,包括try-except、指定异常捕获、捕获多个异常、捕获所有异常、异常传递、finally块的使用,以及如何自定义模块和导入模块。同时,还涉及到了如何安装第三方包。通过对这些概念的掌握,读者可以更好地管理和预防程序运行时的错误。
摘要由CSDN通过智能技术生成

1、异常的捕获  在可能出现异常的地方进行捕获 提供解决方法 而不是任其导致程序无法运行

语法 try :

可能发生的错误的代码

except:

如果出现异常执行的代码

# #打开不存在的文件
try:
    f = open("E:\Desktop\heihei.txt","r",encoding="UTF-8")
except:
    f = open("E:\Desktop\heihei.txt", "w", encoding="UTF-8")

2、捕获指定异常

#捕获指定异常
try:
    print(name)
except NameError as e:
    print("出现了变量未定义的异常")

3、捕获多个异常

#捕获多个异常
try:
    print(name)
except(NameError,ZeroDivisionError) as e:
    print("出现了变量未定义,除以0的异常")

4、捕获所有异常

#捕获全部异常
try:


except Exception as e:
    print("出现异常了")

5、异常else  如果没有异常 就怎么做

#捕获全部异常
try:


except Exception as e:
    print("出现异常了")
else:
    print("没有异常")

6、finally 无论是否出现异常 都要执行代码

# # #打开不存在的文件
try:
    f = open("E:\Desktop\heihei.txt","r",encoding="UTF-8")
except:
    f = open("E:\Desktop\heihei.txt", "w", encoding="UTF-8")
finally:
    print("不论有没有异常,我都要执行")
    f.close()

7、异常的传递

#异常的传递性
#定义一个异常
def func1():
    f = open("E:\Desktop\heihei.txt", "r", encoding="UTF-8") #不存在的文件

def func2():
    func1()

def main():
    func2()
main()

对上述代码进行异常捕获

def main():
    try:      #捕获异常

        func2()
    except Exception as e:
        print(f"异常信息{e}")
main()

8、模块  一个python文件 以.py结尾 模块能定义函数 类和变量 也可能包含可执行的代码

模块的导入方式:

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

常用的组合方式:import 模块名

from 模块名 import 类、变量、方法等

from 模块名 import *

import 模块命 as 别名

from 模块名 import 功能名 as 别名

基本语法:

import 模块名

import 模块1,模块2

模块名.功能名()

import time   #导入python内置的time模块
print("1")
time.sleep(5)
print("2")

from  模块名 import  功能名

功能名()

#从time模块中只拿到slep功能
from time import sleep
print("2")
sleep(2)
print("3")

from  模块名 import  *  将模块内部的功能全部导进来

不用写time.

as 别名  

import time as t
print("2")
t.sleep(2)
print("3")

8、自定义模块 

import my_model
my_model.test(1,2)

 —main—变量

def test(a,b):
    print(a + b)
if __name__ == '__main__':   #通过main变量避免在导入模块时运行模块的测试代码
        test(1,2)

—all—变量  如果一个模块有—all—变量,当使用from xximport *导入时 只能导入这个列表的元素

__all__ = ['test1']

def test1(a,b):
    print(a + b)

def test2(a,b):
    print(a - b)

 9、自定义python包  文件夹  包含一堆模块

创建包 1、新建包 my_package  2、新建包内模块 my_model1   my_model2

导入包:方式

#导入自己创建的包
import my_package.my_model1
import my_package.my_model2

from my_package import my_model1

from my_package.my_model1 import test1

from my_package import *   #all变量控制 会报错

test2(1,2)
test1(2,2)
my_model1.test1(1,2)
my_package.my_model1.test1(1,2)

10、安装第三方包:pip install

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值