Python模块、包、异常、文件(案例)
python.py
#模块
# Python中的模块(Module),是一个Python文件,以.py文件结尾,包含了Python对象定义和Python语句,
# 类似Java中的多个单独的Java文件,把相关的代码分配到一个模块中可以实现代码的重用。模块中可以定义函数、类、变量,也可以包含可执行的代码
#可执行语句
print("我是模块中的打印语句")
#函数
def eat(what):
print("正在吃:",what)
#函数
def sleep(time):
print(f"在{time}时间睡觉")
#变量
name="张三"
age=22
#类
class Person:
def playDD(self):
print("打豆豆")
test.py
#一模块
# Python中的模块(Module),是一个Python文件,以.py文件结尾,包含了Python对象定义和Python语句,
# 类似Java中的多个单独的Java文件,把相关的代码分配到一个模块中可以实现代码的重用。模块中可以定义函数、类、变量,也可以包含可执行的代码
# 导入模块,也就是说,在一个Python文件中想要使用另外一个Python文件中的函数或者变量,则需要导入模块,导入模块有三种方式:
#第一种:import 模块名
import Python
#调用python模块中的变量
print(Python.name) #张三
#调用python模块中的函数
Python.eat("水果 ") #正在吃: 水果
Python.sleep("12:30") #在12:30时间睡觉
#定义python中的类
person=Python.Person()
person.playDD() #打豆豆
# 注意:该种方式导入的模块,在调用模块中的函数、变量、类时,必须前面加上模块名
# 模块名.函数名
#第二种:from 模块名 import 函数名
#导入模块中的某一个函数
from Python import eat
#调用python模块中的eat函数
eat("午餐") #正在吃: 午餐
#调用python模块中的变量
print(Python.age) #22
#注意:该种方式导入的模块,在调用模块中的函数时,可以直接使用函数名即可,不需要跟着模块名
#第三种:import 模块名 as 别名
import Python as p
#调用python模块中的变量
print(p.name) #张三
p.eat("鸡腿") #正在吃: 鸡腿
#注意:该方式导入的模块,在调用模块中的函数时,可以使用别名
#无论执行了多少次import,一个模块只会被导入一次
#二包
# 在实际的开发中,一个大型的系统有成千上万的Python模块是很正常的事情。
# 单单用模块定义Python的功能显然还不够,如果都放在一起显然不好管理并且有命名冲突的可能,
# 因此Python中也出现了包的概念,和Java语言中的包Package是一样的,也就是说把模块分门别类的存放在不同的文件夹
#创建包的步骤
# (1)创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
# (2)在文件夹中创建一个_ _init_ _.py的模块文件,内容可以为空;【注意:必须要创建该文件,用来告诉python将该目录当成一个包来处理】
# (3)将相关的模块放入到文件夹中
# 三异常
# 处理异常
# 1.try-except语句
# try-except语法格式:
# try:
# 代码块【可能出会错的代码】
# except Exception[as reason]:
# 出现异常的处理方式
try:
a=10/0
print(f"结果为{a}")
except Exception:
print("出错了")
#2.针对不同异常设置多个except
# 多个except语法格式:
# try:
# 代码块【可能出会错的代码】
# except 异常1:
# 出现异常1的处理方式
# except 异常2:
# 出现异常2的处理方式
try:
a=10/2
print(f"结果为{a}")
b=1+"1"
print(f"结果为{b}")
except ZeroDivisionError:
print("除数不能为0")
except TypeError:
print("类型错误")
#3.对多个异常统一处理
# except后边还可以跟着多个异常,然后对这些异常进行统一处理,语法格式:
# try:
# 代码块【可能出会错的代码】
# except (异常1,异常2):
# 出现异常的处理方式
try:
a=10/2
print(f"结果为{a}")
b=1+"1"
print(f"结果为{b}")
except (ZeroDivisionError,TypeError):
print("出错了")
#4.捕获所有异常
# 如果你无法确定要对哪一类异常进行处理,只是希望在try语句块中一旦出现任何异常,可以给用户一个“看得懂”的提醒,语法格式:
# try:
# 代码块【可能出会错的代码】
# except:
# 出现异常的处理方式
try:
a=10/0
print(f"结果为{a}")
b=1+"1"
print(f"结果为{b}")
except:
print("出错了")
#5.try-finally语句
# 语法格式:
# try:
# 代码块【可能出会错的代码】
# except:
# 出现异常的处理方式
# finally:
# 有没有异常都会执行
try:
a=10/0
print(f"结果为{a}")
b=1+"1"
print(f"结果为{b}")
except:
print("出错了")
finally:
print("aaa")
#6.丰富的else语句
# 在Python中,else语句不仅能跟if语句搭,构成“要么怎么样,要么不怎么样”的句式;它还能跟循环语句(for语句或者while语句),
# 构成“干完了怎么样,干不完怎么样”的句式;和异常处理进行搭配,构成“没有问题?那就干吧”的句式。
# 语法:
# try:
# 代码块【可能出会错的代码】
# except:
# 出现异常的处理方式
# else:
# 没有异常的处理方式
try:
a=10/2
print(f"结果为{a}")
b=1+"1"
print(f"结果为{b}")
except:
print("出错了")
else:
print("没有错误")
finally:
print("计算完成")
#四、文件
# 在编程中,需要将部分数据永久保存到文件中,或者将文件中的内容读取出来,就需要学习Python中的文件操作。
#1.打开文件
# 在Python中,使用open()函数打开文件并返回文件对象,语法:
# file=open(file,mode=‘’)
# f=open("test.txt")
#2.文件关闭
#如果对文件进行了写入操作,那么应该在完成写入之后关闭文件,因为Python可能会缓存你写入的数据,
# 如果途中发生类似断电之类的事故,那些缓存的数据根本就不会写入到文件中。
# f.close()
#3.文件读取
#打开文件test.txt,编码格式为GBK
f=open("test.txt",encoding="GBK")
#读取所有文件内容
# content=f.read()
# print(content) #啊啊啊 这是一行新的数据 这是一行新的数据
#读取一行
# content=f.readline()
# print(content) #啊啊啊
#将读取的结果存放到list列表中
# l=list(f)
# print(l) #['啊啊啊\n', '这是一行新的数据\n', '这是一行新的数据']
#4.文件的写入
#如果要写入文件,请确保之前的打开模式有“w”或者“a”,否则会报错。注意,如果使用“w”模式写入文件,之前的文件内容将会全部删除
# 选中一个模板,出现的黑色方框标志着选中的范围
# 插入新模板、收藏、复制,都是针对黑色方框进行操作。方法:
# f.write(“数据”)
# f=open("test.txt","a",encoding="GBK",)
# f.write("\n")
# f.write("这是一行新的数据")
# print("完成")
text.txt
啊啊啊
这是一行新的数据
这是一行新的数据
今天的测试就到这里了,谢谢大家的支持!
如果大家想浏览我的下一篇文章,请留言