目录
一、文件(续)
1.文件的写入
语法:
open("文件名称","w")
文件.write(“写入的内容”)
文件.flush(),刷新文件
直接调用write,内容并未真正写在文件中,而是会积攒在程序的内存中,称为缓冲区
当调用flush之后,内容会真正写入文件
如果调用了close(),也可以将内容真正写入文件,因为close()包含了flush的功能
2.文件的追加
语法:open(“文件名称”,"a")
二、异常
异常就是程序运行中出现错误,即bug
1.异常捕获
当我们遇到bug的时候,会有以下两种情况:
(1)整个程序因为一个bug而停止运行
(2)对bug进行提醒,整个程序继续运行
捕获异常的作用在于:提前假设某处会出现异常,做好提前准备,当真正出现异常时,可以有后续手段。
语法:
try:
可能发生错误的代码
except:
如果出现异常执行的代码
例如:
其中变量的异常原因被储存入"a"中
若要捕获多个异常,则except语句变为expect(异常的类型)
例如:
若要执行没有异常的语句,可以用else:
finally:表示有无异常都将执行
示例:
2.异常的传递
def func1():
print("fun1 start")
num=1/0
print("fun1 over")
def func2():
print("fun2 start")
func1()
print("fun2 over")
def main():
try:
func2()
except Exception as e:
print(e)
main()
结果为:
如上,当我们使用main时,由于func1出现异常,它先传递到func2,然后再传递到main(),
由此可以看出异常具有传递性
三、模块
1.模块的定义和用法:
模块就是一个python文件,以.py结尾,模块能定义函数,类,变量等,我们可以直接导入模块来使用
语法:[from 模块名]import[模块|类|变量|函数|*]as[别名]
from和as可以省略不写
(1)import 模块名
该语句将导入整个模块
#使用import导入time模块
import time
print("hello")
time.sleep(5)#通过.来使用模块内的功能
print("world")
(2)from 模块名 import 功能名
该语句将导入模块中的一个功能,若功能名为"*",将导入全部功能
#使用from import导入sleep功能
from time import sleep
print("hello")
sleep(5)
print("world")
(3)as 别名
as 别名 可以把import的内容命名为别名,然后在代码中可以使用别名来运用import的内容
#使用from import导入sleep功能,并将sleep功能命名为t
from time import sleep as t
print("hello")
t(5)
print("world")
2.自定义模块
我们可以自己新建一个.py文件,写上我们想要的功能,然后在主文件中使用我们的模块功能
例如:
#主文件
import my_module1
sum=my_module1.add(5,10)
print("sum")
#my_module1 文件
def add(x,y):
return x+y
当我们调用一个模块时,运行主文件时,模块也会被运行。
为了使模块部分代码不被运行,可以使用
if __name__=='__main__':
使这个文件不作为主文件运行时,在if里的代码块不被运行
all变量:
四、python包
python包是一个文件夹,该文件夹包含了一个_init_.py文件,该文件夹可以包含多个模块
1.创建
PS:python包会自动创建一个_init_.py文件,这个文件控制着包的导入行为
2.导入方式
方式1:
方式2:
方式3:
五、第三方包
1. 安装第三方包-pip:
打开命令提示符输入:
pip install包名称
即可快速通过网络安装第三方包
由于pip访问的是国外网站,因此使用以下方法:
2.使用pycharm安装:
打开pycharm,点击右下角Python 3.10
选择interpreter setting
点击“+”
选择想要安装的包并在option处写上 -i https://pypi.tuna.tsinghua.edu.cn/simple
然后点击install package
由于今天早上和下午一直上课,学习内容较少,共勉