7 Python模块

文章详细介绍了Python中的模块导入机制,包括import、from...import等不同方式,并探讨了包的概念及其使用方法,如__init__.py。同时,文章还深入讨论了异常处理,如何捕获并处理不同类型的异常,确保程序的健壮性。
摘要由CSDN通过智能技术生成

模块

1.什么是模块

python一个 py 文件就是一个模块

2.怎么在一个模块中使用另外一个模块中的内容

1)前提:

如果想要在一个模块中使用另外一个模块中的内容,被使用的模块名必须符合变量名的要求

2)导入模块

a .import 模块名 - 导入指定模块,导入后可以通过‘模块名. xxx ’的方式使用这个模块

b. from 模块名 import 内容1,内容2,… - 导入指定模块,导入后可以直接使用指定内容

c. **from 模块名 import *** - 导入指定模块,导入后可以直接使用模块中所有内容

d. import 模块名 as 新模块名 - 导入指定模块后裔对应模块进行重命名:‘新模块名.xxx’

e. from 模块名 import 内容1 as 内容2 - 对导入的内容重命名

test . py

a = 100
name = '小明'


def func1(num):
    num *=2
    print('test中的函数')
    return num

a.导入方式1

import test


print(test.a)
print(test.name)
test.func1(7)
print(test.func1(2))

b.导入方式2

from test import a,name

print(a)
print(name)

c.导入方式3

from test import *

print(a)
print(name)
print(func1(2))

d.导入方式4

import numpy as np

e.导入方式5

from test import name as t_name
print(t_name)

1.什么是包

包含_ _ init _ _. py的文件夹就是包

2.怎么使用包或者文件夹中的模块中的内容

1)import 包名
(只适用于包)导入指定的包,导入后可以通过‘包名.xxx’去
使用包中_ _init _ _.py文件中的所有内容

文件夹files1中的_ _ init _ _.py内容为

msg = '包file1中__init__中的变量'

def f_test2():
    print('包中__init__中的函数')

使用包中的内容

import files1

files1.f_test2()	#包中__init__中的函数
print(files1.msg)	#包file1中__init__中的变量
2)from 包名 import 模块名1,模块名2,…

导入指定包中指定的模块,导入后可以通过‘模块名.xxx’使用指定模块中的内容

from files1 import test1
print(test1.msg)		#包files1的模块test1中的变量
3)from 包名 import 内容1,内容2,…

(只适用于包)导入指定包中_ _ init _ _.py文件中的指定内容

from files1 import msg,f_test2
f_test2()	#包中__init__中的函数
print(msg)	#file1中__init__中的变量
4)import 包名.模块名
import files2.test2 as t2
print(t2.msg)	#文件夹files2中模块test2的变量

from files2.test2 import msg
print(msg)		#文件夹files2中模块test2的变量
5)from 包名.模块名 import 内容1,内容2,…
from files1.abc1.test3 import msg, func1

print(msg)		#包files中文件夹abc1中test3的变量
func1()			#包files中文件夹abc1中test3的函数

异常

1.异常 - 程序中错误

程序出现异常(报错)会直接让程序结束运行(在哪个位置出现的异常,程序就会在哪个地方结束)

2.异常捕获

让程序在出现异常的时候程序不结束,还可以接着往后执行

1)语法结构1:

- 捕获所有异常

try:

代码段1(需要捕获异常的代码)

except:

代码段2(出现异常后会执行的代码)

finally:

代码段3(最后无论如何都会执行的代码)

执行过程:先执行代码段1,执行代码段1的时候如果没有出现异常,就不执行代码段2;如果出现异常,程序不报错并且马上执行代码段2。

try:
    age = int(input('请输入年龄:'))
    print(age)
except:
    print('年龄输入有误!')
finally:
    print('不管怎样都会输出')
2)语法结构2(推荐使用):

- 捕获指定类型异常

try:

代码段1(需要捕获异常的代码)

except 异常类型:

代码段2(出现异常后会执行的代码)

finally:

代码段3(最后无论如何都会执行的代码)

try:
    print('abc'[4])
except IndexError:
    print('出错!')
3)语法结构3:

- 同时捕获多种异常

try:

代码段1(需要捕获异常的代码)

except (异常类型1,异常类型2,…):

代码段2(出现异常后会执行的代码)

finally:

代码段3(最后无论如何都会执行的代码)

try:
    print('abc'[4])
except (IndexError, KeyError):
    print('出错!')
4)语法结构4:

- 同时捕获多种异常

try:

代码段1(需要捕获异常的代码)

except 异常类型1:

代码段11(出现异常后会执行的代码)

except 异常类型2:

代码段22

except 异常类型3:

代码段33

finally:

代码段3(最后无论如何都会执行的代码)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值