【python】第四节引入模版+文件的读取

拿来吧你,

想要知道一个列表的中位数

比如就可以使用python标准库里面的statistic

复制代码
import statistics
print(statistics.median([1,89,67,34,1.123,78]))

引入模块的方式有三种,

import语句

from...import... 语句

from...import*语句

但是使用第一种的时候,可能会存在不同的标准库里面会有重名的现象,比如abc()函数

如果好奇标准函数是怎么写的windows里面是选中ctrl然后选择函数,就可以看到源代码

pypi.org库可以对于第三库进行搜索

比如搜索akshare就能获得,

(阿轲分享)是由国内开发者维护的 Python 财经数据接口库,核心价值在于一站式获取免费、实时 / 历史的金融数据,无需自己编写爬虫去各大财经网站抓数据,极大降低了金融数据分析的门槛。

然后到终端上安装库

面向对象编程,利用类创建对象,先会把一些共同特征圈起来,就是把属性和方法与对象进行绑定(纪传体)

面向过程编程,对于每个步骤而言的编程(编年体)

面向对象三大将军(特征):封装、继承、多态

封装 就是将里面的藏起来,对外只留一个小口,让别人进入(不需要 )

父类的性质都能被子类继承

python创建类

类可以说是对象的模板

Python的命名规则是Pascal命名规则:UserAccount,CustomerOrder,PaymentData

创建一个类,然后往里面放属性

class

定义属性固定使用两个下划线的_init_()括号里面可以放任意属性的参数

约定俗成是自身的self

对象的属性就是self.xxxx

class OldCat:

def init(self):

self.name='Lambton'

cat1=OldCat()

这样的话就可以引入一个叫cat1的OldCat它会具有Lambton的属性

比如一只小狗的名字是bonnie,04年出生,白色的

复制代码
class CuteDog:

    def __init__(self,dog_name,dog_age,dog_color):

        self.name=dog_name

        self.age=dog_age

        self.color=dog_color

littledog=CuteDog("bonnie",2004,"white")

print(f"小狗{littledog.name}的年龄是{littledog.age},颜色是{littledog.color}")

注意字符串一定要加双引号,这样子的话,才可以被程序识别到。十进制所以说不能用0开头

会猫叫属性的小狗

复制代码
class CuteDog:

    def __init__(self,dog_name,dog_age,dog_color):

        self.name=dog_name

        self.age=dog_age

        self.color=dog_color



    def JiaoSheng (self):
        print("喵"* self.age)

littledog=CuteDog("bonnie",24,"white")
littledog.JiaoSheng()

案例:

定义一个学生类,属性包括学生的学号还有语数英三科的成绩

设置学生某科目的成绩

打印出学生所有科目的成绩

class Student

继承:现实中的儿子继承父亲

复制代码
class CuteDog:

    def __init__(self,dog_name,dog_custom,dog_food):

        self.name=dog_name

        self.custom=dog_custom

        self.food=dog_food

class SonDog(CuteDog):
    def wasai(self):
        print(self.name+"在拉屎")


littledog=SonDog("bonnie","日常玩球球","white")
littledog.wasai()

子类继承父类,SonDog继承了CuteDog的name,custom,food

所以调用的时候输入这些特征,就会直接使用父类中的方法

案例

人力系统该发工资了

有两种重要的情况,兼职按天发工资,正式员工按月发工资

复制代码
class staff:

    def __init__(self,name):

        self.name=name





    def printer(self):

        print(f"{self.name}的工资是")



class fulltime_staff(staff):

    def __init__(self,name,month):

        super().__init__(name)
        self.month=month

    def fulltimesalary(self):
        fulltimesalary=self.month*1200
        return fulltimesalary




class parttime_staff(staff):

    def __init__(self,name,day):
        super().__init__(name)
        self.day=day

    def parttimesalary(self):
        parttimesalary=self.day*120
        return parttimesalary


zhangsan=fulltime_staff("zhangsan",14)

lisi=parttime_staff("lisi",56)

lisi.printer()
print(lisi.parttimesalary())

python的文件路径,绝对路径使用反斜杠\

相对路径是用点 . 点点..开头的

使用python读文件的第一个操作是打开目标文件,使用open函数,里面直接放上文件的路径,相对路径与绝对路径都可以,比如说打开一张图片

现在一般使用utf-8的模式读取文件

代码喜欢txt纯文本

文件特别大的时候不要用read,这样内存会爆炸

使用txt文件的话,要注意保存

read返回全部文件内容字符串

readline返回一行文件内容字符串

readlines返回全部文件内容组成的列表

读完文件之后还要做的事情就是关闭文件

除了

1.文件名.close()这种方式

还有

2.with open("./data.txt")as 文件名

print(文件名.())

这样之后文件会自动关闭

右击文件,新建一个文件,这样就和源代码文件处于一个文件夹之下,使用相对路径对于文件进行调用。

复制代码
f=open("./古诗.txt","r",encoding="utf")
print(f.read())
f.close()

readlines返回的是一个列表

readline返回的是一行又一行

复制代码
f=open("./古诗.txt","r",encoding="utf")
print(f.readline())
print(f.readline())
f.close()

一位老师想要读取熊孩子们的成绩计算平均数

那可以使用python中写文件的操作

如果读文件,文件不存在就会报错。但是写文件文件不存在的话,就会自动新建一个文件

write不会默认帮忙换行,想要换行的话就要加上\n

复制代码
with open("./data.txt","w",encoding="utf-8")as f:

    f.write("hey\n guys")

    f.close

如果不想把原本的文件内容清空只是想要追加文件内容的话,就使用a模式,使用r+既可以读又可以写

复制代码
with open("./data.txt","a",encoding="utf-8")as f:

    f.write("\n black skin")

    f.close
相关推荐
2zcode6 分钟前
基于MATLAB元胞自动机(CA)的AZ80A镁合金动态再结晶(DRX)过程模拟
开发语言·matlab·动态再结晶
iCxhust23 分钟前
微机原理实践教程(C语言篇)---A001闪烁灯
c语言·开发语言·汇编·单片机·嵌入式硬件·51单片机·微机原理
MATLAB代码顾问1 小时前
Python实现蜂群算法优化TSP问题
开发语言·python·算法
yaodong5181 小时前
不会Python也能数据分析:Gemini 3.1 Pro解决办公问题的SQL自动生成
python·sql·数据分析
jinanwuhuaguo1 小时前
(第三十三篇)五月的文明奠基:OpenClaw 2026.5.2版本的文明级解读
android·java·开发语言·人工智能·github·拓扑学·openclaw
BU摆烂会噶1 小时前
【LangGraph】持久化实现的三大能力——时间旅行
数据库·人工智能·python·postgresql·langchain
有一个好名字2 小时前
工具即双手 —— 从 Bash 到 Tool Dispatch Map
开发语言·chrome·bash
Lyyaoo.2 小时前
优惠券秒杀业务分析
java·开发语言
消失的旧时光-19432 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
DevilSeagull3 小时前
MySQL(2) 客户端工具和建库
开发语言·数据库·后端·mysql·服务