python基础知识—模块和异常

python基础知识—模块和异常

一. 模块

1.1认识模块

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

(1)如何在一个模块使用另一个模块中的内容

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

2)导入模块:

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

这个模块中的所有内容

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


#import 模块名
import test
print(test.a)
#from 模块名 import 内容
from test import a
print(a)

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

from test import *
print(a)

d.import 模块名 as 新模块名——导入指定模块后对模块进行重命名:使用时使用新模块名

import test as t1
print(t1.a)

e.from 模块名 import 内容1 as 新内容1,…——对导入的内容进行重命名

from test import name as t_name,a as b

二.包(package)

包含____init___.py文件的文件夹就是包

1.1如何使用包或者文件夹中的模块中的内容

(1) import 包名——(只适用于包)导入指定的包,导入后通过’包名.xxx’去使用包中____inint____.py文件中的内容

import files2
files2.f_test()
print(f_test.pi)

(2) from 包名 import 模块1,模块2…——导入指定的包中指定的模块,导入后可以通过’模块名.xxx’使用指定模块中的内容

import file2
print(file2.fun_c())
print(file2.pi)


from file2 import test2,test4
print(test2.pi)
print(test4.abc)

(3)from 包名 import 内容1,内容2…——(只适用于包)导入指定包中init.py文件中的指定内容

form file2 import pi,abc

(4)from 包名.模块名

import file2.test2
print(file2.test2.pi)


#为了简洁
import file2.test2 as t2

(5)from 包名.模块名 import 内容1,内容2…

from file2.test2 import pi

三.异常

1.1异常——程序中的错误

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

1.2异常捕获——在程序出现异常的时候程序不结束,还能接着往后执行

1.3 语法结构:

(1)语法结构1

try:

​ 代码段1

except:

​ 代码段2

finally:

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

执行过程:先执行代码段1,执行代码段1的时候如果没有出现异常,就不执行代码段2;如果出现异常,程序不会报错并且马上执行代码段2.finally的出现并不会影响前面的代码,而且都会执行(出现异常被捕获之后也会执行)

try:
    a=int(input("请输入年龄:"))
    print(a)
except:
    print("年龄输入有误!!!")
    
#请输入年龄:地方
年龄输入有误!!! 
try:
    a=int(input("请输入年龄:"))
    print(a)
except:
    print("年龄输入有误!!!")

finally:
    print("上面影响不到我")
    
#
请输入年龄:10
10
上面影响不到我

请输入年龄:asd
年龄输入有误!!!
上面影响不到我


请输入年龄:hjk
上面影响不到我
Traceback (most recent call last):
  File "D:\千锋学习\01\model_and_exception.py", line 20, in <module>
    a=int(input("请输入年龄:"))
ValueError: invalid literal for int() with base 10: 'hjk'

(2)语法结构2

try:

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

except 异常类型:

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

try:
    print('acd'[4])
except IndexError:
    print("这里有错误")

    
#先执行代码,指定出现错误的类型,如果出现错误的类型和指定的类型一致,则输出代码段2,如果不一致就会报错

(3)语法结构3-同时捕获多种

try:

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

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

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

try:
    a = int(input("请输入年龄:"))
    print(a)
except (KeyError,IOError,IndexError):
    print("年龄输入有误!!!")

finally:
    print("上面影响不到我")

 请输入年龄:addf 
上面影响不到我
Traceback (most recent call last):
  File "D:\千锋学习\01\model_and_exception.py", line 29, in <module>
    a = int(input("请输入年龄:"))
ValueError: invalid literal for int() with base 10: 'addf '   

(4)语法结构4

try:

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

except (异常类型1,异常类型11):

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

except 异常类型2:

​ 代码段3

try:
    a = int(input("请输入年龄:"))
    print(a)
except (KeyError,IOError,IndexError):
    print("年龄输入有误!!!")

except ValueError:
    print("值错误")
finally:
    print("上面影响不到我")
#
请输入年龄:阿斯顿 
值错误
上面影响不到我  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值