IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础学习笔记 -> 正文阅读

[Python知识库]Python基础学习笔记

Python基础

1.python认识

1.1注释

注释 在代码中,起到说明作用的文字(python解释器不执行)
?
作用:
    帮助开发者理解和回顾代码
    方便其他人阅读
    
单行注释 ----> #
多行注释 ----> 3个单引号 或 3个双引号
?
快捷键
    注释: ctrl + /
    规范: ctrl + alt + l

1.2输入

输入 通过外设(键盘,手写板...)将信息写入到计算机
?
作用: 与计算机进行计信息交互
?
语法:
    变量 = input("提示信息") ---->input
    注意:input的输出结果是字符串str

1.3输出

输出 就是将信息输出到控制台
?
作用:
    在控制台的输出,方便开发者查看代码运行的结果
 
语法:
    print(字符串) ?----> 在控制台打印出字符串
    print(变量) ?----> 在控制台打印变量对应的数据
    print(数据1, 数据2, ...) ?---->连续打出多个数据
    print(数据1, 数据2, ..., sep="分割符号") ?---->自定义分割符号
    print(数据1, 数据2, ..., end="") ?---->产生不换行的效果

1.4变量

变量 用来存储数据 
?
作用:
    处处用到变量
    存储一次,再次使用的时候直接可以通过变量性进行数据使用
    
语法:
    变量名 = 数据(值)
    
变量的具体操作
    增 ?--->  定义变量 ?--->  变量名 = 值
    删 ?--->  del 变量名
    改 ?--->  就得变量名 = 新值
    查 ?--->  print(展示数据在控制台)

1.5变量的其他用法

其他用法 笔试或者面试
?
语法:
    连续给不同的变量赋值
    交叉换值
    给多个变量赋同一个值
    
    查询变量对应数据的内存地址方法 ? ---> id(变量)/id(数据)

1.6标志符和关键字

标识符 在编写代码时程序员 自定义的 变量名, 函数名, 类名
关键字 python自带的英文单词, 或单词缩写
?
作用:
    见名知意
    程序员取名的名字
    程序员自定义名字的时候, 禁止使用关键字
    
语法:
    标志符的规则: 由字符(严格区分大小写), 数字, 下划线组成, 并且数字不能开头
    标志符方法:
    1.大驼峰--->多个单词构成,每个单词首字母全部大写
    2.小驼峰--->多个单词构成,除了第一个单词首字母小写,其余单词首字符都大写
    3.下划线--->多个单词构成,每个单词中间用下划线隔开

1.7数据类型

数据类型 对数据的分类
?
作用:
    每一种数据类型, 对应不同的属性和方法
    
语法:
    查看数据类型的方法 ----> type()
    
    整数 --->int 注意:整数进行除法运算得到的结果,都是浮点数
    小数(浮点数) ---->float
    
    布尔值(用作逻辑判断) ----> bool
        True ----> 表示条件为真
        False ----> 表示条件为假
    
    字符串(将一串字符合在一起表示) ----> str
        定义字符串
            单行字符串 -->2个单引号或双引号引起来的,都叫字符串
            多行字符串 -->3个单引号护双引号引起来,变量进行赋值(不赋值的话就做注释用)

2.基本语法

2.1算数运算符

算数运算符 进行数字计算的符号
?
作用: 代码中对数字进行计算
?
语法:
    + ----> 加
    - ----> 减
    * ----> 乘
    / ----> 除
    
    % ----> 取余
    ** ---> 次方运算
    // ---> 除法去整数
    
    round(变量名, 保留小数的位数)

2.2比较运算符

比较运算符 比较条件为真或为假
?
作用: 进行条件判断时使用
?
语法: 
    == ----->比较两个数据值是否相等
    <, >, <=, >=, !=

2.3赋值运算符

赋值运算符 变量赋值时进行简单的计算
?
作用: 在循环代码中会使用
?
语法:
    = ----> 给变量赋值
    += ----> a += b 效果同于 a = a + b
    -= ----> a -= b 效果同于 a = a - b

2.4身份运算符

身份运算符 两个数据的内存地址是否相同
?
作用: 判断两个数据的内存地址
?
语法: 
    == -----> 两个数据的值是否相同
    is -----> 两个数据的内存地址是否相同
    
数据类型分类:
    简单数据类型 ---> ***值相同,内存地址一定相同
        整数,浮点型,布尔型,字符串
    复杂数据类型 ---> ***值相同, 内存地址不同
        列表,字典,(元祖), 集合

2.5逻辑运算符

逻辑运算符 对布尔值进行计算,通常情况下是True 或 False
?
作用: 条件判断
?
语法:
    and ---> 与      关键:遇假全假
    or ?---> 或      关键:遇真全真
    not ---> 取反
    
逻辑运算符的特殊性
    1.其他数据也可以当成布尔值 进行逻辑处理
        1.1 ?0, "", {}, [], None 表示False进行判断
        1.2  其他数据都是True
    2.短路性: 当前面的逻辑判断已经可以判断出整个结果,后面的逻辑不再判断
    3.逻辑运算的取值: 在发生短路的地方取最后进行判断的值

2.6类型的转换

类型的转换: 将不同的数据类型进行数据的交换
注意:
    转换的数据一定要符合数据的格式
    当浮点数转换为整数时,会失去精度(小数位)
?
作用:
    前端和后端数据交换的时候
    为了计算而转换
    
语法:
    int() ---> 将数据转换成整数
    float() ---> 将数据转换成浮点型
    str() ---> 将数据转换成字符串
    list() ---> 将数据转换成列表
    tuple() ---> 将数据转换成元组

2.7不同类型数据之间的计算

较少用到
?
整数 + 浮点数 ---> 浮点数
布尔型 + 数字 ---> True表示1, False表示0
字符串1 + 字符串2 ---> 将字符串1和字符串2进行拼接
字符串 * 整数(次数) ---> 重复字符串的次数

2.8变量的格式化

变量的格式化 将变量放进字符串中一起输出
?
非常有用!!
?
语法:
    1.%格式化
        %s ---> 格式化字符串数据
        %d ---> 格式化整数数据
        %.2f ---> 格式化浮点数数据
        %% ---> 显示百分号
    2.f格式化(重点!!!)
        f'{变量}'

2.9if分支

条件控制 根据条件的真或假来选择性的执行代码
?
作用: 代码中做选择判断的时候
?
语法:
    1. if单分支
 ? ? ? ?if 条件判断:
 ? ? ? ? ?  执行满足条件的代码块
 ? ?2. if双分支
 ? ? ? ?if 条件判断:
 ? ? ? ? ?  执行满足条件的代码块
 ? ? ? ?else:
 ? ? ? ? ?  执行不满足条件的代码块
 ? ?3. if多分支
 ? ? ? ?if 条件1:
 ? ? ? ? ?  满足条件1时执行的代码块
 ? ? ? ?elif 条件2:
 ? ? ? ? ?  满足条件2时执行的代码块
 ? ? ? ?elif 条件3:
 ? ? ? ? ?  满足条件3时执行的代码块
 ? ? ?  ....
 ? ? ? ?else:
 ? ? ? ? ?  当上面条件都不满足执行的代码块
 ? ? 4. if的嵌套
 ? ? ? ?if中再进行if判断

2.10 循环while

循环 重复做一件事情
?
作用:
    减少代码的冗余, 减轻开发人员的人力
    当代码重复使用的时候
    
语法:
    while循环基本语法结果
        1.计数器 ---> i = 初始值
        2.循环判断条件 ---> 用于判断循环什么时候结束
        3.计数器自己增加 ---> 每循环玩一次,通常加一
        
    语法结构:
        i = 初始值
        while 循环的判断条件:
            需要循环的代码块
            i += 数字

3.循环与列表

3.1循环控制语句

循环控制 通过break 和 continue 来跳出循环
?
作用
    代码中需要中途退出循环
    1.break 跳出后不再进行循环
    2.continue 跳出本次循环, 下一次继续循环

3.2死循环

死循环 while没有结束的条件(条件一直为真)
?
作用
    死循环单独使用是不允许的
    死循环和break可以联合使用
    
语法
    while True:
        执行的代码块

3.3while_else

while...else ?while的完整语法
?
作用 解决while循环中重复打印内容
?
语法
    初始化计数器
    循环判断条件
    计数器自增
    else 和break连用

3.4while循环嵌套

while循环嵌套 while中再while循环
?
作用 
    两层循环 ---->较多
    多层循环 ---->较少
?
语法
    while 判断条件:
        while 判断条件:

3.5列表的介绍

列表 有顺序的 存放数据的 容器
?
作用 对于相同类型和属性的数据, 通常用列表存储
?
语法
    列表名 = [元素1, 元素2, 元素3....]
    列表名 = []
    注意:
        1.列表中的数据,成为元素
        2.列表中的锇元素直接用逗号隔开
        3.[]表示创建一个列表
    索引号:在列表中从左到右, 从0开始一次整数递增, 每一个索引号对应唯一的元素

3.6列表的添加

末尾添加    列表名.append(需要添加的元素)
任意位置插入  列表名.insert(索引号,需要添加的元素)
两个列表合并  列表名1.extend(列表名2)

3.7列表的删除

删除索引号指定的元素  del 列表名[索引号]
根据元素进行删除    列表名.remove(元素)  -->如果列表中存在多个值,则删除从左往右第一个
默认删除最后一个元素  列表名.pop()
pop删除指定元素   列表名.pop(索引号) -->pop()可以将删除掉的元素返回
删除掉列表中的所有元素 列表名.clear() -->删除的是列表中的元素
删除列表    del 列表名

3.8列表的查询

查询元素(根据索引号)     列表名[索引号]
查询元素(根据元素)      列表名.index(元素)
    默认查询的是从左到右的第一个元素
    返回值是元素的索引号
    如果没有对应的数据, 返回报错
查询列表的长度 ----> 有多少元素     len(列表名)
查询列表中元素出新的次数    列表名.count(元素)

3.9列表的修改

修改列表中的元素    列表名[索引号] = 新值

3.10列表的排序

列表的排序 排列列表中元素的顺序(不是索引号,而是编码排序)
?
作用  列表中元素为数字的排序
?
语法
    升序排序    列表名.sort()
    降序排序    列表名.sort(reverse=True)
    反转排序    列表名.reverse()

3.11切片

列表的切片的概念 将列表中的元素'切一块出来',取列表中一个范围的元素
?
从列表中取连续的一组元素
?
语法
    列表名[开始索引:结束索引:步长]
    
规律总结
    当存在结束索引的时候 ---->包开始不包结束
    索引号的规律
        从左到右 ----> 从0开始计算
        从右到左 ----> 从-1开始计算
    切片的两个方向
        步长方向
            当步长为正数的时候,方向是从左到右
            当步长为负数的时候,方向是从右到左
        索引号方向
            开始索引和结束索引产生的方向
    进行值的判断
        当步长方向 和 索引号方向 相反的时候,结果为[]
        当步长方向 和 索引号方向相同的时候, 开始判断
        当开始索引 或 结束索引为空无法确认索引号方向的时候,就跟步长一个方法

3.12列表的遍历

列表的遍历 将列表中的元素依次取出
?
作用  容器型的数据类型 ----> 列表
?
语法
    while
    
    for ----> 转恩用于容器的遍历
        for 变量 in 容器
            变量使用的相关代码

3.13元组

列表 有顺序的 存放数据的 可变的 容器
元组 有顺序的 存放数据的 不可变的 容器
?
作用 在代码中, 一些要求不可取改变的额数据,用元组来保存
?
语法
    元组名 = (元素1, 元素2, 元素3...) ----> 元组的数据类型为tuple

4.字符串与字典

4.1字符串的介绍

列表 有顺序的 存储数据的 可变的 容器
元组 有顺序的 存储数据的 不可变的 容器
字符串 有顺序的 存储字符的 不可变的 容器
?
字符 字符串中的每一个字母, 数字, 符号被称为字符
转义字符:
    1. 将有意义的转换成无意义的
    2. 将没有意义的转换成有意义的 ---> \n(换行) \t(tab) \\(\)
处处使用字符串
?
语法
    字符串 = "字符字符字符字符字符"
    字符串 = '字符字符字符字符字符'

4.2字符串内容操作

字符串内容操作 其中字符的操作
?
作用:
    从报错的错误中找出自己需要的字符
    比如爬虫的应用
    
操作参考列表的操作
?
遍历(for和while) 和 切片操作 相同

4.3字符串的常用函数

字符串的常用函数 进行字符串操作的python自带的方法
?
比较常用
?
方法:
    1. 去除字符串两边的空格 ---> 字符串.strip()
        去除左边的空格 ---> 字符串.lstrip()
        去除右边的空格 ---> 字符串.rstrip()
        去除字符串左右两边指定的字符 ---> 字符串.strip("指定的字符")
    
    2. 对字符串进行空格分割 ---> 字符串.split()  默认以空格进行切割
        对字符串进行指定字符切割 ---> 字符串.split("分隔符") 按照指定分隔符进行分割
        (指定分割的符号在结果中会消失)
        对字符串进行指定字符切割,指定切割的次数 ---> 字符串.split("分隔符", 次数)
        对字符串进行指定字符切割,指定切割的次数,从右边切 ---> 字符串.rsplit("分隔符", 次数)
        结果: 试讲切割的数据作为元素放在一个列表中
        
        字符串 = (拼接符号).join(列表) --->字符串拼接

4.4字符串的其他函数

大小写转换
    字符串.lower() ---> 将字符串转换成小写
    字符串.upper() ---> 将字符串转换成大写
?
指定字符
    startswith()判断字符串开头是否是指定的字符 ?---> 判断字符串开头是否是指定的字符
    endswith() --->判断字符串开头是否是指定的字符 ?---> 判断字符串开头是否是指定的字符
?
替换字符
    字符串.replace("替换的字符") --->替换字符串中的字符
?
判断字符串中是否全部是数字
    字符串.isdigit() ---> 判断字符串中是否全部是数字

4.5字典的介绍

列表 有顺序的 存储数据的 可变的 容器
元组 有顺序的 存储数据的 不可变的 容器
字符串 有顺序的 存储字符的 不可变的 容器
字典 无顺序的 存储键值对的 可变的 容器
类型为:'dict'
?
键值对 以键和值成对出现的映射关系的数据
区分:
    数字列表 = [1, 2, 3, 4]
    名字列表 = ["张三", "李四", "王五"]
    键值对 "name":"名字" "age":18
    
语法:
    标准语法:
        字典名 = {键1:值1, 键2:值2, 键3:值3....}
    字典的取值:
        键:值
        字典名[键] --->取值
注意:
    一个字典中的键是唯一的
    值可以重复

4.6字典的添加和修改

字典的添加和修改 增加和修改键值对
?
语法 
    增加 ---> 字典名[键] = 值
    修改 ---> 字典名[已存在的键] = 值
    
    添加默认值 ---> 字典名.setdedault(键, 值) 
    
    合并字典 ---> 字典名1,update(字典名2) (相同键会由字典2覆盖字典1的值)

4.7字典的删除

字典的删除 删除字典中的键值对
?
语法
    del 字典名[键] ----> 将对应的键和值一起删除
    字典名.pop(键) ----> 将对应的键值对一起删除,有返回值(删除内容)
    eg:     values = stu.pop('name')
    字典名.clear() ---> 清空字典中所有键值对,保留一个空字典 
    del 字典名 ----> 删除字典

4.8字典的查询

语法
    字典名[键] ----> 查看字典的值,当键不存在的时候,报错
    字典名.get(键) ---> 当查看字典中的键不存在的时候,不报错
    len(字典名) ---> 查看键值对的个数(字典的长度)
    字典名.values() --->将字典中的值全部取出来
    eg:     my_values = stu.values
    字典名.keys() --->将字典中的键全部取出来
    eg:     my_keys = stu.keys()
    

4.9字典的遍历

字典的遍历 通过for 将字典中的数据依次取出
?
作用: 可以把键, 值,键值对都一次取出,非常常用!!!
?
语法:
    第一种 ---> 默认字典容器,遍历字典的所有键(默认情况)
        for key in 字典:
            print(key)
    第二种 ---> 默认字典容器,遍历字典所有键(指定遍历键)
        for key in 字典.keys():
            print(key)
    第三种 ---> 默认字典容器,遍历字典所有值(指定遍历值)
        for values in 字典.values():
            print(values)
    第四种 ---> 将键值对以元组的形式遍历出来
        for tuple_data in 字典名.items():
            print(tuple_data)
    第五种 ---> 将键值对以两个变量的形式一起遍历出来
        for key, value in 字典名.items():
            print(key, value)
?

4.10集合

集合 无顺序的 存储数据的 可变的 不重复的 容器
?
作用: 数据的去重
?
语法
    set() ---> 去重方法
    
    定义集合
        集合名 = {元素1, 元素2, 元素3...}

4.11公共方法

 len()
 del()
 max()
 min()
 
 ord() ---> 查看编码数字
 
 in 的使用 ----> 判断一个数据 是否 在容器中 (布尔值)

5.函数

5.1函数的介绍

函数 有名字的, 可重复执行的代码块,调用才能执行
?
作用
    解决代码冗余的问题
        通过循环可以解决代码重复的问题
        通过函数可以解决代码重复的问题
?
语法
    定义函数:
        def 函数名():
            重复执行的代码块
        注意:
            def 为定义函数的关键字
            函数名紧跟在def+空格之后
            函数名属于标识符
                标识符规则:由字母, 数字,下划线组成,不能以数字开头
                标识符建议:大驼峰, 小驼峰, 下划线(推荐)
            ()是定义函数不可缺少的符号的符号
            : 回车缩进,包含住下方的代码块
    调用函数:
        函数名()
        注意
            函数只需要定义一次,可以无限次使用
            先定义在使用
            直接print(函数名),表示存储缩进的代码块的内存地址
            (),表示小括号
            函数名(), 调用函数(执行函数定义的时候缩进在其中的代码块

5.2函数的参数

函数的参数 函数代码在运行中所设定的未知数
参数的分类 形式参数  和   实际参数
?
作用  函数的代码块需要使用未知数
?
语法
    定义函数
        def 函数名(形参1, 形参2...):
            重复执行的代码块(函数体)
    
    使用参数:
        函数名(实参1, 实参2...)

5.3函数的返回值

函数的返回值 调用函数之后得到的一个值(可自定义可不定义)
?
作用  函数被调用的时候,返回值需要被用在别处
?
语法
    def 函数名(形参1, 形参2...):
        函数体
        return 返回值
        
    return注意:
    函数默认可以不写返回值,如果不写,返回值为None
    return 返回值,得到调用函数后的值

5.4函数定义三部曲

函数定义三部曲 
    函数名
        函数名是标识符的一种
            函数名由字母, 数字,下划线组成, 见名知意
            建议试用下划线
    参数
        参数分为 形式参数 和 实际参数
            形参是在定义函数的小括号中使用
            实参实在调用函数的小括号中使用
    返回值
        返回值是调用函数的时候返回的数值
            可以默认不写,此时默认返回值为None
            在return 后面写返回值
            尽量写上返回值,不知怎么写时就写1或0(成功或失败)
    
语法
    def 函数名(形参1, 形参2...):
        函数体
        return 函数值
    函数名(实参1,实参2...)

5.5pass的使用

pass 表示空语句,只是作为占位用
range():在循环遍历的时候,产生一个迭代器
    结束数据:  包左不包右
    range的开始数字不写的时候,默认从0开始
?
作用  非常多, 主要在代码没写完的时候
?
语法
    for i in range(开始数字, 结束数字, 步长)

5.6函数的注释(略)

5.7返回值的加强

3. 语法(how)
 ? ?3.1 一个return 返回多个值 ? ---->  返回值的类型是元组, 元组中的每一个元素就是return的具体指
 ? ?3.2 一个函数中有多个return
 ? ?3.3 当不写return , 返回 None

5.8匿名函数

lambda 形参1, 形参2...:表达式

6.函数加强

6.1参数的加强

参数加强 对形参和实参进一步分类
    形参:
        默认参数:在定义形参的时候给一个默认值
            给出默认参数后,调用函数可以不写该实参
            给出默认参数后,调用函数时写了该实参即以写的值为准
            当有默认参数时,默认参数在形参里面的后面
        必传参数 在定义形参的时候没有默认值
            调用的时候实参一定和必传参数 数量 和 未知 上一致
?
    实参:
        位置参数 在调用函数的时候,位置和必传参数一一对应
        关键字参数 在调用函数的时候,给予明确的形参值
            调用函数时,形参与值一一对应写出,不用考虑位置
        
?
作用 在工作灵活应用其他的分类方式
?
语法
    def 函数名(形参1, 形参2, 形参3, ...,默认参数 = 值):
        函数体(重复执行的代码块)
        return 返回值
    
    函数名(实参1, 实参2, 形参3 = 值, ...)
    
注意:
    无论形参还是实参, '='赋值的参数形式一定在最后面
    关键词参数不能重复赋值

6.2打包

打包 将未知个数的参数打包在一起使用
    分类
        元组打包 ----> 将未知个数的参数打包成元组来使用
        字典打包 ----> 将位置个数的参数打包成字典来使用
?
作用 如果参数的数量未知,就使用打包去解决
?
语法
    打包的语法(元组)
        def 函数名(*args):
            函数体
            return 返回值
        函数名(填写任意个数的实参)
    
    打包的语法(字典)
        def 函数名(**kwargs):
            函数体
            return 返回值
        函数名(填写任意个数的关键字参数)

6.3拆包

拆包 将元组(列表) 或 字典
    分类
        元组(列表)拆包
        字典拆包
?
作用 数据和代码分离的情况下使用
?
语法
    元组和列表拆包
        def 函数名(形参1, 形参2, 形参3):
            函数体
            return 返回值
        函数名(*args)  #args就是元组或列表名
        注意:
            拆包 包中的元素个数一定和要使用的函数的形参数量一样
            拆包 包中的元素未知一定也是和要使用的函数的位置一样
    
    字典拆包
        def 函数名(形参1, 形参2, 形参3):
            函数体
            return 返回值
        函数名(**kwargs)   #kwargs就是字典名
        注意:
            拆包 包中的键一定和要使用的函数的形参的名字相对应
            拆包 包中的键值对的顺序可以任意

6.4变量的作用域

作用域 使用的范围
变量的作用域 变量的使用范围
?
分类
    全局变量作用域 ---> 在函数外定义的变量的使用范围 ---> 任何位置都可以使用
    局部变量作用域 ---> 在函数内定义的变量的使用范围 ---> 只能在函数内部自己使用
    
需要考虑变量的实际使用范围

6.5变量的分析

语法
 ?  global 变量
 ?  变量的具体使用

6.6函数的嵌套

函数的嵌套 函数中套用函数

6.7递归函数

递归函数 自己嵌套自己
?
注意
    循环中套用自己即为开始下一次循环,不会深入函数无限套用!!!!

7.文件相关操作

7.1文件的介绍

文件 在硬盘上存储数据的一种方式
?
分类 
    文本文件 人能够看得懂的文件
    二进制文件 人看不懂的,以0或1格式组成的机器语言
    
    文本文件    转换成     二进制文件 ----> 编码 utf-8
    二进制文件   转换成     文本文件 ?----> 编码 utf-8
    
    编码是怎么来的
    计算机最小单位 ---> bit
    1个字节是 8bit
    
    ascll码 ----> 127
        1个英文字母 ----> 1个字节来表示
    GBK2312 ----> 加入了中文
        1个中文 ----> 2个字节来表示
    Unicode编码 ----> 把各个国家的都统一起来
        1个英文字母 ----> 2个字节来表示
    utf-8
        1个英文字母 ----> 1个字节来保存
        1个中文 ----> 3个字节
        
文件可以长期保持数据

7.2python操作文件

python操作文件: 通过python代码对文件进行读或写操作
?
三部曲:
    打开文件
        fp = open("文件的路径", "打开方式",编码)
    操作文件
        fp.操作函数()
    关闭文件
        fp.close

7.3打开文件分析

打开文件
    fp = open("文件的路径", "打开方式", 编码格式)
    fp 称为 操作句柄
?
文件的路径
    绝对路径: 从根目录开始的文件路径 ---> 使用r字母去除路径中的转义
    想对路径 相对于当前执行的文件的路径(建议使用)
    
打开方式
    r ---> 只读
    w ---> 只写,清除之前的内容
    a ---> 只写,在之前的内容后继续追加
    
    rb ---> 只读(二进制的方式)
    wb ---> 只写,清除之前的内容(二进制的方式)
    ab ---> 只写,在之前的内容后继续追加(二进制的方式)
    注意
        以二进制的方式操作文件时,不需要再写编码格式
        以二进制的方式操作文件时,必须是相应的二进制数据 b"字符串"
    
    r+, w+, a+ : 以读写方式打开文件
    
总结
    当文件不存在,使用写的操作(w,a)会自动创建文件
    打开方式是r时,只能相应的读操作(read())
    打开方式是w/a的时候,只能相应的写操作(write())

7.4操作的文件分析

游标 标记写或读操作的开始位置
?
打开文件
    r ----> 以只读的方式打开
    w ----> 以覆盖写的方式打开
    a ----> 以追加写的方式打开
    
操作文件
    读操作
        read()  ---> 读取文件中的全部内容
        read(number) ---> 读取文件中指定字符数量的内容
        readline() ---> 读取文件中的一行内容
        readlines() ---> 读取文件中每一行的内容,并且以列表的数据类型展示
    写操作
        write("字符串") ---> 往文件中写入一个字符串内容
                        ---> 返回写入的字符的数量
        writelines(容器) ---> 往文件中写入多个字符串,字符串是放在容器中
                        ---> 返回值是None

7.5复制文本文件(略)

7.6任意文件的拷贝(略)

7.7大文件的拷贝(略)

7.8os模块操作

os模块 python自带的对文件进行操作的方法
?
import os

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-23 15:43:22  更:2021-12-23 15:45:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:28:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码