【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
相关推荐
IVEN_11 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang13 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮13 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling13 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮16 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽16 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers