0

0

Python Day-Objectionpiended编程(OOPS),CSV,Matplotlib

心靈之曲

心靈之曲

发布时间:2025-02-03 16:46:44

|

452人浏览过

|

来源于php中文网

原创

Python面向对象编程与文件操作详解

python 是一种多范式编程语言,支持面向对象编程 (oop)。oop 使用类和对象来组织代码,提高代码的可重用性、可扩展性和可维护性。

类 (Class)

类是对象的蓝图或模板,它定义了对象的属性(状态)和方法(行为)。例如,“自行车”就是一个类,它具有品牌、颜色、速度等属性,以及启动、加速、停止等方法。

对象 (Object)

对象是类的实例,是实际存在的实体。例如,“Activa”和“Pulsar”都是“自行车”类的对象。每个对象都有自己独特的状态。

立即学习Python免费学习笔记(深入)”;

注意:必须先定义类才能创建对象。

为什么在Python中使用OOP?

主要原因在于其提高了代码的可重用性、可扩展性和可维护性。

示例:图片显示

from PIL import Image
photo = Image.open("abcd.jpeg")
photo.show()

CSV文件与Matplotlib数据可视化

MagickPen
MagickPen

在线AI英语写作助手,像魔术师一样在几秒钟内写出任何东西。

下载

CSV (Comma Separated Values) 文件是一种纯文本格式,用逗号分隔值。Matplotlib 是一个流行的Python数据可视化库,可以创建静态、动画和交互式图表。

示例:销售数据图表

import matplotlib.pyplot as plt
import csv

years = []
sales = []
with open("sales.csv", "r") as f:
    reader = csv.reader(f)
    next(reader)  # 跳过表头
    for row in reader:
        years.append(int(row[0]))
        sales.append(int(row[1]))

plt.figure(figsize=(7, 5))
plt.plot(years, sales, color="r", label="Yearly Sales")
plt.xlabel('Years')
plt.ylabel("Sales")
plt.title("Last 5 Years Sales")
plt.legend() # 添加图例
plt.show()

Python Day-Objectionpiended编程(OOPS),CSV,Matplotlib

文件操作

Python 提供了多种方法来操作文件。

打开文件的模式:

  • 'r':读取模式(默认)。打开现有文件进行读取,文件不存在则报错。
  • 'w':写入模式。创建新文件或覆盖现有文件内容进行写入。
  • 'a':追加模式。打开现有文件并在文件末尾追加内容。
  • 'x':排他创建模式。创建新文件,如果文件已存在则报错。
  • 'b':二进制模式。用于处理二进制文件(如图片、音频)。
  • 't':文本模式(默认)。用于处理文本文件。 'r+', 'w+', 'a+' 允许读写。

Python Day-Objectionpiended编程(OOPS),CSV,Matplotlib

示例:文件操作

  1. 创建并检查文件:
f = open("abcd.txt", "w")
print(type(f))
print(f.name)
print(f.mode)
print(f.readable())
print(f.writable())
print(f.closed)
f.close()
  1. 写入文件:
f = open("abcd.txt", "w")
f.write("friday\nsaturday\n") # 使用 \n 换行
f.close()
  1. 追加到文件:
f = open("abcd.txt", "a")
f.write("sunday\nmonday\n")
f.close()
  1. 读取文件:
f = open("abcd.txt", "r")
data = f.read()
print(data)
f.close()

f = open("abcd.txt", "r")
data = f.read(5) # 读取前5个字符
print(data)
f.close()

f = open("abcd.txt", "r")
line = f.readline() # 读取一行
print(line)
f.close()

f = open("abcd.txt", "r")
lines = f.readlines() # 读取所有行到列表
for line in lines:
    print(line, end="")
f.close()
  1. 统计文件内容:
f = open("abcd.txt", "r")
data = f.readlines()

num_lines = len(data)
num_words = 0
num_letters = 0
for line in data:
    words = line.split()
    num_words += len(words)
    for word in words:
        num_letters += len(word)

f.close()
print(f"Number of lines: {num_lines}")
print(f"Number of words: {num_words}")
print(f"Number of letters: {num_letters}")
  1. 检查文件是否存在:
import os
file_name = input("Enter file name: ")
if os.path.isfile(file_name):
    print("File is present")
else:
    print("File is not present")

记住在操作完成后始终关闭文件 (f.close()),释放系统资源并避免潜在错误。 可以使用 with open(...) as f: 语句,它会在代码块执行完毕后自动关闭文件,即使发生异常。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 面向对象
go语言 面向对象

本专题整合了go语言面向对象相关内容,阅读专题下面的文章了解更多详细内容。

56

2025.09.05

java面向对象
java面向对象

本专题整合了java面向对象相关内容,阅读专题下面的文章了解更多详细内容。

52

2025.11.27

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

469

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

15

2025.12.06

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

2

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

2

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

0

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

0

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 3.7万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号