嵩天老师python基础课程笔记-8
时间: 2023-10-27 13:06:12 浏览: 119
好的,下面是第八篇笔记。
### Python 文件操作
#### 文件操作基础
- 文件操作是指对计算机硬盘上的文件进行读写操作,Python 中的文件操作是通过内置的 `open()` 函数实现的。
- `open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)` 函数用于打开一个文件,并返回文件对象。
- `file`:要打开的文件名(包含路径)。
- `mode`:文件打开的模式,有读模式('r')、写模式('w')、追加模式('a')等。
- `buffering`:缓冲区大小,0 表示不缓冲,1 表示缓冲一行,大于 1 表示缓冲区大小,负数表示使用默认缓冲区大小。
- `encoding`:文件编码格式。
- `errors`:错误处理方式。
- `newline`:换行符。
- 文件对象的方法:
- `read(size=-1)`:读取文件内容,`size` 表示读取的字节数,不指定表示读取整个文件内容。
- `readline(size=-1)`:读取文件中的一行内容,`size` 表示读取的字节数,不指定表示读取整行内容。
- `readlines(hint=-1)`:读取所有行并返回一个列表,`hint` 表示读取的字节数,不指定表示读取全部行。
- `write(string)`:将字符串写入文件。
- `writelines(sequence)`:将字符串序列写入文件,序列中每个元素都是字符串。
#### 文件操作示例
- 打开文件:`file = open('file_name', 'r')`。
- 读取文件内容:`content = file.read()`。
- 关闭文件:`file.close()`。
- 读取文件中的一行内容:`line = file.readline()`。
- 逐行读取文件内容:`for line in file: print(line)`。
- 写入文件内容:`file.write('Hello World!')`。
- 写入多行内容:`file.writelines(['Hello', 'World', '!'])`。
#### 文件操作进阶
- 使用 `with` 语句可以自动关闭文件,避免忘记关闭文件而导致的问题。
- 示例:
```python
with open('file_name', 'r') as file:
content = file.read()
```
- 使用 `os` 模块可以对文件进行更加高级的操作,如文件重命名、删除等。
- 示例:
```python
import os
os.rename('file_name', 'new_file_name') # 重命名文件
os.remove('file_name') # 删除文件
```
### Python 面向对象编程
#### 面向对象编程基础
- 面向对象编程是一种编程思想,将程序中的对象看作是相互交互的实体,通过它们之间的交互来完成程序的功能。
- 类(class)是面向对象编程中的一个重要概念,它是一种用户自定义的数据类型。
- 类中包含属性(特征)和方法(行为),属性指对象的数据成员,方法指对象的行为成员。
- 类的定义:
```python
class ClassName:
# 类属性
attribute = value
# 构造函数
def __init__(self, arg1, arg2, ...):
self.arg1 = arg1
self.arg2 = arg2
...
# 类方法
def method(self, arg1, arg2, ...):
...
```
- 类的实例化:
```python
object_name = ClassName(arg1, arg2, ...)
```
- 对象的属性和方法:
```python
object_name.attribute # 访问对象的属性
object_name.method(arg1, arg2, ...) # 调用对象的方法
```
#### 面向对象编程示例
- 示例:定义一个 `Rectangle` 类,实现矩形的面积和周长计算。
```python
class Rectangle:
# 类属性
name = 'Rectangle'
# 构造函数
def __init__(self, width, height):
self.width = width
self.height = height
# 类方法
def area(self):
return self.width * self.height
def perimeter(self):
return 2 * (self.width + self.height)
```
- 使用示例:
```python
rectangle = Rectangle(3, 4)
print(rectangle.name) # 输出 'Rectangle'
print(rectangle.area()) # 输出 12
print(rectangle.perimeter()) # 输出 14
```
### 总结
本篇笔记介绍了 Python 中的文件操作和面向对象编程基础,包括文件操作函数的使用、类的定义、对象的实例化和属性、方法的访问等。了解和掌握这些内容可以帮助我们更好地进行 Python 编程。
阅读全文