Day14-模块和异常

Day14-模块和异常

1、模块 - python中的一个py文件就是一个模块

一个模块中的内容能够被另外一个模块使用的前提:模块名必须符合变量名的要求,如果要在一个模块中使用另一个模块中的内容,必须要先导入再使用
导入模块
01)import 模块名 - 导入指定模块,导入后可以通过’模块名.xxx’的方式去使用这个模块中所有的全局变量
02)form 模块名 import变量名1,变量名2,变量名3,… - 导入指定模块,导入后可以直接使用指定的变量
03)from 模块名 import * - 导入指定模块,导入后可以直接使用模块中所有的全局变量
04)import 模块名 as 新模块名 - 对模块重命名
05)from 模块名 import 变量名1,变量名2 as 新变量名2,变量名3,… - 对指定变量进行重命名

=导入方式1=

import test

print(test.x)

test.func1()

print(test.name)

=导入方式2=

from test import x, func1

print(x)

func1()

=导入方式3=

from test import *

print(x)

print(name)

func1()

=导入方式4=

import test as ts

test = 99

print(test)

print(ts.x)

print(ts.name)

ts.func1()

=导入方式5=

from test import x as tx, name, func1
print(tx)
print(name)
func1()

2、导入模块的原理

不管以什么样的方式导入模块,导入模块的时候系统会先将被导入的模块中所有的代码都执行一遍
导入模块的时侯
候选择性执行代码 - 如果一个模块中的部分代码在被别的模块导入的时候不希望执行,就将不希望被别的模块执行的代码放在指定的if语句中
if语句:
if __name__ == '__main__':
    pass

import test2

from test2 import a

from homework2 import game_start

p1, p2, p3, d = game_start()

print(p1, p2, p3, d)

from test3 import download
download(‘肖生克的救赎’)

3、包

包含了__init__.py文件的文件夹就是包。(包是专门用来封装模块)
包对应的文件夹只放py文件
普通文件夹可以放其他文件
怎么使用一个包或者一个文件夹中模块 - 通过包导入模块或者模块中的内容

=导入方式1

import package.test4

import package2.test5

print(package.test4.filename)

package.test4.get_content()

print(package2.test5.c)

=导入方式1的变形

import package.test4 as t4

import package2.test5 as t5

print(t4.filename)

t4.get_content()

print(t5.c)

=导入方式2

from package import test4

from package2 import test5

print(test4.filename)

test4.get_content()

print(test5.c)

=导入方式3

from package.test4 import filename, get_content

from package2.test5 import c

print(filename)

get_content()

print©

2. __init__.py文件的作用
通过包导入内容的时候,系统就会自动执行包中__init__.py文件中的所有的内容

import fileManager

print(fileManager.xx)

print(fileManager.csvfile.a)

print(fileManager.jsonfile.c)

fileManager.read_csv()

fileManager.open_file()

from fileManager import read_csv

read_csv()

from fileManager.tool.test6 import yy
print(yy)

4、异常捕获

异常 - 报错
程序在执行过程中如果出现异常(报错),程序会直接结束。

print(100)

print(‘abc’[10])

exit() 退出程序

print(200)

print(300)

异常捕获 - 让程序在出现异常的时候不报错(不崩溃)还可以接着往后执行
什么时候捕获异常
明知道某个地方可能会出现异常,程序员无能为力,又希望在出现异常的时候程序不要奔溃还可以接着往后执行,这个时候就可以进行异常捕获。
2)怎么捕获异常
结构1 - 捕获所有异常
try:
代码段1(需要捕获异常的代码)
except:
代码段2(捕获到异常后会会执行的代码)
其他代码
结构2 - 捕获指定异常
try:
代码段1
except 异常类型:
代码段2
结构3 - 同时捕获多种异常,针对不同的异常做相同的处理
try:
代码段1
except (异常类型1, 异常类型2,…):
代码段2
结构4 - 同时捕获多种异常,针对不同的异常做不同的处理

try:
代码段1
except 异常类型1:
代码段11
except 异常类型2:
代码段22
except 异常类型N:
代码段NN
try:
print(100)
print(‘abc’[10])
print(200)
print(300)
except:
print(‘捕获到异常!’)

try:

age = int(input(‘请输入年龄:’))

if age >= 18:

print(‘可以处对象’)

else:

print(‘不能处对象’)

except:

print(‘年龄输入有误!’)

print(‘=========’)

try:
age = int(input(‘请输入年龄:’))

print(age + ‘12’)

except ValueError:
print(‘年龄输入有误!’)

age = int(input(‘请输入年龄:’))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值