第三周周报

本文详细介绍了Python中文件的创建、写入、异常处理方法,包括文件模式、异常捕获以及模块、包的使用,同时涵盖了类的定义、面向对象编程和私有成员的概念。
摘要由CSDN通过智能技术生成

其中的一些图片我直接截图视频中的总结

一.文件的相关知识

1.文件的创建

Python 使用 open() 函数创建或打开文件,

语法格式如下所示:

f=open(name,mode,encoding)

  • mode:是一个可选字符串,用于指定打开文件的模式,默认值是 'r'(以文本模式打开并读取)。可选模式如下:

模式描述
r读取(默认)
w写入,并先截断文件
x排它性创建,如果文件已存在则失败
a写入,如果文件存在则在末尾追加
b二进制模式
t文本模式(默认)
+更新磁盘文件(读取并写入)
  • encoding:用于解码或编码文件的编码的名称。建议为encoding='utf-8';

  • name:打开目标文件的字符串(可以包含文件的具体路径)

2.文件的写入

上面我们创建的文件 test.txt 没有任何内容,我们向这个文件中写入一些信息,对于写操作,Python 文件对象提供了两个函数,如下所示:

函数描述
write(str)将字符串写入文件,返回写入字符长度
writelines(s)向文件写入一个字符串列表

我们使用这两个函数向文件中写入一些信息,如下所示:

wf = open('test.txt', 'w', encoding='utf8')

wf.write('shua\n')

wf.writelines(['tom\n', 'Python'])

3.文件的关闭

wf.close()

上面我们使用了 close() 函数进行关闭操作

二.异常,模块,包

1.异常及其捕获方式

"""
异常捕获
"""

file_name = "红楼梦1.txt"
# 打开一个不存在的文件
# 1. 出现异常,执行except中的语句,捕获所有异常
try:
    f = open(file_name, 'r', encoding='utf-8')
except Exception as e:
    # 如果出现异常,则执行以下语句,而不是停止程序
    print(e)
    f = open(file_name, 'w', encoding='utf-8')

# 2. 捕获指定异常
try:
    1/0
except ZeroDivisionError as e:
    print("除数不能是0")
    print(e)


# 3. 捕获指定多个异常
# else和finally可选
try:
    print(1/1)
except (ZeroDivisionError, NameError) as e:
    print("除数不能是0")
    print(e)
else:
    print("没有异常执行else语句内容")
finally:
    print("有没有异常都执行finally的内容")
    f.close()

异常捕获2,---异常的传递性

def readTxt(file_name):
    f = open(file_name, 'r', encoding='utf-8')
    for name in f:
        print(name)

file_name = "红楼梦1.txt"
# 打开一个不存在的文件
try:
    readTxt(file_name)
except Exception as e:
    # 如果出现异常,则执行以下语句,而不是停止程序
    print(e)

2.python模块

1.什么是模块?

模块就是一个Python代码文件,内含类、函数、变量等,我们可以导入进行使用。

2.语法

[from 模块名] import [模块|类|变量| 函数|*] [as 别名]

3.注意事项:

  • from可以省略,直接import即可
  • as别名可以省略
  • 通过”.”来确定层级关系
  • 模块的导入一般写在代码文件的开头位置

4.自定义模块

__all__变量可以控制import * 时哪些功能可以被导入
用法:__all__ = ['fun1','fun2']

例子:__main__

"""
自定义模块 day4_bug.py
"""

def readTxt(file_name):
    f = open(file_name, 'r', encoding='utf-8')
    for name in f:
        print(name, end='')

# 没有main,在调用时执行了
file_name = "红楼梦.txt"
readTxt(file_name)


# __main__保证在该模块被引用的时候,不执行main中的部分。
# pycharm快捷键:输入 main 可直接跳出 if __name__ == '__main__':
if __name__ == '__main__':
    file_name = "红楼梦1.txt"
    readTxt(file_name)

3.包

三. 类和对象

1.类的定义

1.类是由哪两部分组成呢?
·类的属性,称之为:成员变量
·类的行为,称之为:成员方法
注意:函数是写在类外的,定义在类内部,我们都称之为方法哦
2.类和成员方法的定义语法 class 类名称:
成员变量
def成员方法(self,参数列表):
成员方法体
对象=类名称()
3. self的作用
.表示类对象本身的意思
· 只有通过self,成员方法才能访问类的成员变量
·self出现在形参列表中,但是不占用参数位置,无需理会

2.面向对象编程

面向对象编程就是,使用对象进行编程。

即,设计类,基于类创建对象,并使用对象来完成具体的工作。

3.一些内置方法

4.私有成员、封装

1.封装的概念    将现实世界事物在类中描述为属性和方法,即为封装。
2.什么是私有成员?为什么需要私有成员?
现实事物有部分属性和行为是不公开对使用者开放的。同样在类中描述
属性和方法的时候也需要达到这个要求,就需要定义私有成员了
3.如何定义私有成员?
成员变量和成员方法的命名均以__作为开头即可
4.私有成员的访问限制?
·类对象无法访问私有成员
·类中的其它成员可以访问私有成员

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值