Python基础三天入门(第三天)

Python基础三天入门(第三天)

Python基础入门系列主要总结Python相对于Java语法区别
参考资料:
https://www.bilibili.com/video/BV1wD4y1o7AS?p=99&spm_id_from=pageDriver&vd_source=dd9bdf6f42e38406b07ef92b986e8171

类和对象

  • 类的创建 class 类名
  • 对象的创建 实例名 = 类名()
  • 类属性 类中方法外的变量称为类属性,被该类的所有对象所共享
  • 类方法 使用@classmethod修饰的方法,使用类名直接访问的方法
  • 静态方法 使用@staticmethod修饰的方法,使用类名直接访问的方法

面向对象三大特征

  • 封装
  • 继承
    • python支持多继承
    • class 子类类名 (父类1,父类2…):
  • 多态

方法重写

  • 如果子类对继承自父类的某个属性或方法不满意,可以在子类中对其进行重新编写
  • 子类重写后的方法可以通过super().xxx()调用父类中被重写的方法

object类

  • object是所有类的父类,因此所有类都有object类的属性和方法
  • 内置函数dir()可以查看指定对象的所有属性
  • object有一个_str_()方法,用于返回一个对于“对象的描述”,对应于内置函数str()经常用于print()方法,帮我们查看对象的信息,所以我们经常会对_str_()进行重写

特殊属性和特殊方法

  • 特殊属性
    • dict:获得类对象或实例对象所绑定的所有属性和方法的字典
  • 特殊方法
    • len():通过重写_len_()方法,让内置函数len()的参数可以是自定义类型
    • add():通过重写_add_()方法,可使用自定义对象具有"+"功能
    • new():用于创建对象
    • init():对创建的对象进行初始化

new_与_init

  • _new_完成对象创建
  • _init_完成对象初始化赋值

类的赋值与拷贝

  • 变量的赋值:只是形成两个变量,实际上还是指向同一个对象
  • 浅拷贝:python一般都是浅拷贝,拷贝时,对象包含的子对象内容不拷贝,因此源对象与拷贝对象会引用同一个子对象
  • 深拷贝:使用copy模块的deepcopy函数,递归拷贝对象中包含的子对象,源对象和拷贝对象所有的子对象也不相同

模块

  1. 什么叫模块
  • 一个模块中可以包含N多个函数
  • 在Python中一个扩展名为.py的文件就是一个模块
  • 使用模块的好处
    • 方便其它程序和脚本的导入并使用
    • 避免函数名和变量名冲突
    • 提高代码的可维护性
    • 提高代码的可重用性
  1. 自定义模块
  • 创建模块:新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同
  • 导入模块
    • import 模块名称 [as 别名]
    • from 模块名称 import 函数/变量/类
  1. 以主程序的形式执行
  • 在每个模块的定义中都包含了一个记录模块名称的变量_name_,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的_name_变量的值为_main_
  1. python中的包
  • 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
  • 作用
    • 代码规范
    • 规避模块名称冲突
  • 包与目录的区别
    • 包含_init_.py文件的目录称为包
    • 目录里通常不包含_init_.py文件
  • 包的导入
    • import 包名.模块名
  1. python中常用的内置模块
  • sys:与Python解释器及其环境操作相关的标准库
  • time:提供与时间相关的各种函数的标准库
  • os:提供了访问操作系统服务功能的标准库
  • calendar:提供了与日期相关的各种函数的标准库
  • urllib:用于读取来自网上(服务器)的数据标准库
  • json:用于使用JSON序列化和反序列化对象
  • re:用于在字符串中执行正则表达式匹配和替换
  • math:提供标准算术运算函数的标准库
  • decimal:用于进行精确控制运算精度、有效位数和四舍五入操作的十进制运算
  • logging:提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能
  1. 第三方模块的安装及使用
  • pip install

文件的读写

  • 内置函数open()创建文件对象
  • 语法规则:file=open(filename [,mode,encoding])
    • file:被创建的文件对象
    • open:创建文件对象的函数
    • filename:要创建或打开的文件名称
    • mode:打开模式默认为只读
    • encoding:默认文本文件中字符的编写格式为gbk
  • 文件打开模式
    • r:只读模式
    • w:只写模式,文件不存在则创建,文件存在,则覆盖原有内容
    • a:以追加模式打开文件,文件不存在则创建,文件存在则在文件末尾追加内容
    • b:以二进制方式打开文件,不能单独使用,需要与其它模式一起使用,rb,或者wb
    • +:以读写方式打开文件,不能单独使用

文件对象常用的方法

  1. read([size])
  • 从文件中读取size个字节或字符的内容返回。若省略[size],则读取到文件末尾,即一次读取文件所有内容
  1. readline()
  • 从文本文件中读取一行内容
  1. readlines()
  • 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回
  1. write(str)
  • 将字符串str内容写入文件
  1. writelines(s_list)
  • 将字符串列表s_list写入到文本文件,不添加换行符
  1. seek(offset[,whence])
  • 把文件指针移动到新的位置,offset表示相对于whence的位置:offset为正往结束方向移动,为负往开始方向移动
  • whence不同值不同含义:
    • 0:从文件头开始计算(默认值)
    • 1: 从当前位置开始计算
    • 2: 从文件尾开始计算
  1. tell()
  • 返回文件指针的当前位置
  1. flush()
  • 把缓冲区的内容写入文件,但不关闭文件
  1. close()
  • 把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源

with语句(上下文管理器)

  • with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此来达到释放资源的目的
  • 实现了_enter_()方法和_exit_()方法,遵守了上下文管理协议
  • 离开运行时上下文,自动调用上下文管理器的特殊方法_exit_()

目录操作

  1. os模块是Python内置与操作系统功能和文件系统相关的模块,该模块中的语句的执行结果通常与操作系统有关,在不同的操作系统上运行,得到的结果可能不一样
  2. os模块与os.path模块用于对目录或文件进行操作
  3. os模块操作目录相关函数
  • getcwd():返回当前的工作目录
  • listdir(path):返回指定路径下的文件和目录信息
  • mkdir(path[,mode]):创建目录
  • makedirs(path1/path2…[,mode]):创建多级目录
  • rmdir(path):删除目录
  • removedirs(path1/path2…):删除多级目录
  • chdir(path):将path设置为当前工作目录
  1. os.path模块操作目录相关函数
  • abspath(path):用于获取文件或目录的绝对路径
  • exists(path):用于判断文件或目录是否存在,如果存在返回True,否则返回False
  • join(path,name):将目录与目录或着文件名拼接起来
  • splitext():分离文件名和扩展名
  • basename(path):从一个目录中提取文件名
  • dirname(path):从一个路径中提取文件路径,不包括文件名
  • isdir(path):用于判断是否为路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值