【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
相关推荐
52Hz1185 分钟前
力扣230.二叉搜索树中第k小的元素、199.二叉树的右视图、114.二叉树展开为链表
python·算法·leetcode
喵手6 分钟前
Python爬虫实战:网页截图归档完全指南 - 构建生产级页面存证与历史回溯系统!
爬虫·python·爬虫实战·零基础python爬虫教学·网页截图归档·历史回溯·生产级方案
张3蜂24 分钟前
Python 四大 Web 框架对比解析:FastAPI、Django、Flask 与 Tornado
前端·python·fastapi
qq_124987075325 分钟前
基于Java Web的城市花园小区维修管理系统的设计与实现(源码+论文+部署+安装)
java·开发语言·前端·spring boot·spring·毕业设计·计算机毕业设计
2601_9483745733 分钟前
商用电子秤怎么选
大数据·python
Volunteer Technology39 分钟前
Sentinel的限流算法
java·python·算法
froginwe111 小时前
Python 条件语句
开发语言
七夜zippoe1 小时前
Python统计分析实战:从描述统计到假设检验的完整指南
开发语言·python·统计分析·置信区间·概率分布
2601_949146531 小时前
Python语音通知API示例代码汇总:基于Requests库的语音接口调用实战
开发语言·python
去码头整点薯条981 小时前
python第五次作业
linux·前端·python