Pyf20230322(Python模块与异常)

01 模块(module)

1.什么是模块

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

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

1)前提:如果想要在一个模块中使用另外一个模块中的内容,被使用的模块的模块名必须符合变量名的要求。
2)导入模块
a.import 模块名 - 导入指定模块,导入后可以通过’模块名.xxx’的方式使用这个模块中所有的内容
b.from 模块名 import 内容1, 内容2, … - 导入指定模块,导入后可以直接使用指定内容
c.from 模块名 import * - 导入指定模块,导入后可以直接使用所有内容
d.import 模块名 as 新模块名 - 给要导入的模块重命名
e.from 模块名 import 内容1 as 新内容名1, … - 给导入的模块的内容重命名
3)导入原理:没导入之前内存中没有对应变量,导入后内存中就有了导入的变量
4)补充:在这个if语句中的代码只会在直接执行当前模块的时候执行,在被别的模块导入(调用)的时候不会执行

        if __name__ == '__main__':
            希望被其它模块调用的时候不执行的代码段
print('a.导入方式----------------------------------------')
import _01test

b = _01test.f_test1()
c = _01test.a
d = _01test.c
print(b, c, d)

print('b.导入方式----------------------------------------')
from _01test import f_test1

f_test1()
print(f_test1())

print('c.导入方式----------------------------------------')
from _02test import *
for x in range(1, k+1):
    print(x)

print('d.导入方式----------------------------------------')
import _02test as _02testxx

a = _02testxx.k
b = _02testxx.i
print(a, b)

print('e.导入方式----------------------------------------')
from _02test import k as h
a = h
print(a)

02 包(package)

1.什么是包

包含__init__.py文件的文件夹就是包。

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

1)import 包名 - (只适用于包)导入指定的包,可以通过’包名.xxx’去使用包中__init__.py文件中的所有内容。
2)from 包名 import 模块1, 模块2, … - 导入指定包中指定的模块,导入后可以通过’模块名.xXx’使用指定模块中的内容
3)from 包名 import 内容1, 内容2, … - (只适用于包)导入指定包中__init__.py文件中的指定内容
4)import 包名.模块名
5)from 包名.模块名 import 内容1, 内容2, …

print('导入方式1----------------------------------------')
import Packages

Packages.p_func1()
print(Packages.pi)


print('导入方式2、3----------------------------------------')
from files import _01testf
print(_01testf.money)

from Packages import _03testp, pi, p_func1
print(_03testp.name)
print(pi)
p_func1()

from Packages.files import _03testpf
print(_03testpf.dog_name)


print('导入方式4----------------------------------------')
import Packages._02testp
print(Packages._02testp.age)

import Packages._02testp as pt2
print(pt2.age)

import Packages.files._03testpf as tpf03
print(tpf03.dog_name)


print('导入方式5----------------------------------------')
from Packages._02testp import age
a = age
print(a)

from Packages.files._03testpf import dog_name
b = dog_name
print(b)


print('自己练习----------------------------------------')
from Packages.files._03testpf import *
pf_func1()

03 异常(exception)

1.异常 - 程序中出现错误

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

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

1)语法结构1
try:
代码段1
except:
代码段2
finally:
代码段F(无论前面什么情况都会执行)
执行过程:先执行代码段1,执行代码段1的时候如果没有出现异常就不执行代码段2,如果出现异常,程序不报错,并且马上执行代码段2。

try:
    age = int(input('数年龄:'))
    print('您的年龄是:', age, '岁', sep='')
except:
    print('年龄输入错误!')

2)语法结构2(★推荐使用!)
try:
代码段1(需要捕获异常的代码)
except 异常类型:
代码段2(出现异常后会立即执行的代码)
finally:
代码段3(无论前面什么情况都会执行)

try:
    print('abc'[4])
except IndexError:
    print('出错!')

3)语法结构3: - 同时捕获多种类型异常
try:
代码段1(需要捕获异常的代码)
except (异常类型1, 异常类型2, 异常类型3, …):
代码段2(出现异常后会立即执行的代码)
finally:
代码段3(无论前面什么情况都会执行)

4)语法结构4: - 根据异常类型的不同提供不同的异常处理
try:
代码段1
except (异常类型1, 异常类型2, 异常类型3, …):
代码段11
except 异常类型4:
代码段44
except 异常类型5:
代码段55

finally:
代码段F(无论前面什么情况都会执行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值