python学习笔记day_08

本文深入探讨了Python中的面向对象三大特性:封装保护数据安全,继承提高代码复用,多态增强灵活性。还讲解了方法重写、object类、静态语言与动态语言的多态区别,以及特殊方法和属性的应用。此外,介绍了文件操作、编码格式和with语句在实际开发中的关键作用。

一、面向对象的三大特征

-封装
	-提高程序的安全性
	-将数据(属性)和行为(方法)包装到类对象中,在方法内部对属性进行操作,在类对象的外部调用方法
	-这样无需关心方法内部的具体实现细节,从而隔离了复杂度
	-在python中没有专门的修饰符用于属性的私有,如果不希望在类对象外部被方法,前边使用两个"_"
-继承
	-提高代码复用性
	-语法格式
		-class 子类类名(父类1,父类2...):pass
	-如果一个类没有继承任何类,则默认继承object
	-python支持多继承
	-定义子类时,必须在其构造函数中调用父类的构造函数
-多态
	-提高程序的可扩展性和可维护性

二、方法重写

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

三、object类

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

四、静态语言和动态语言关于多态的区别

-静态语言实现多态的三个必要条件
	-继承
	-方法重写
	-父类引用指向子类对象

五、特殊方法和属性

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

六、模块

-什么叫模块
	-模块的英文为modules
	-函数与模块的关系
		-一个模块中可以含有n个函数
	-在python中一个扩展名为.py的文件就是一个模块
	-使用模块的好处
		-方便其他程序和脚本导入并使用
		-避免函数名和变量名冲突
		-提高代码的可维护性
		-提高代码的可重用性
	-自定义模块
		-创建模块:新建一个.py文件,名称尽量不要与python自带的标准模块名称相同
		-导入模块:import 模块名称 [as别名]    from 模块名称 import 函数/变量/类
-python中的包
	-包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
	-作用
		-代码规范
		-避免模块名冲突
	-包与目录的区别
		-包含__init__.py文件的目录称为包
		-目录里通常不包括__init__.py文件
	-包的导入
		-import 包名.模块名
		-import后面只可以跟包名
		-from后面可以是包名也可以是包.变量
-python中常用的内置模块
	-sys 与python解释器及其环境操作相关的标准库
	-time 提供与时间相关的各种函数标准库
	-os 提供了访问操作系统服务功能的标准库
	-calendar 提供与日期相关的各种函数的标准库
	-urllib 用于读取来自网上(服务器)的数据标准库
	-json 用于使用json序列化和反序列化对象
	-re 用于在字符串中执行正则表达式
	-math 提供标准算术运算函数的标准库
	-decimal 用于进行精确控制运算精度有效数位和四舍五入操作的十进制运算
	-logging 提供了灵活的记录事件,错误,警告和调试信息等日志信息功能

七、编码格式

-常见的字符编码格式
	-python的解释器使用的是unicode(内存)
	-.py文件在磁盘上使用utf-8存储(外存)

八、文件的读写原理

-文件的读写俗称I/O操作
-文件读写操作流程
-操作原理
	-python操作文件->打开或新建文件->读、写文件->关闭资源
-文件的读写操作
	-内置函数open()创建文件对象
	-语法规则
		-file=open(filename,[mode,encoding])
-常用的文件打开格式
	-文件类型
		-按文件中数据的组织形式,文件分为一下两大类
			-文本文件
				-存储的是普通字符文本,默认为unicode字符集,可以使用记事本程序打开
			-二进制文件
				-把数据内容用字节进行存储,无法用记事本打开,必须使用专用的软件打开
	-打开模式
		-r 以只读模式打开,文件的指针将会放在文件的开头
		-w 以只写模式打开文件,如果文件不存在则创建,存在则覆盖原有内容,文件指针在文件的开头
		-a 以追加模式打开文件,如果文件不存在则创建,文件指针在文件开头,如果文件存在则在文件末尾追加内容,文件指针在原文件末尾
		-b 以二进制方式打开文件,不能单独使用,需要与共它模式一起使用 rb或者wb
		-+ 以读写的方式打开文件,不能单独使用,需要与其他模式一起使用 a+
	-文件对象的常用方法
		-read(size) 从文件中读取size个字节或字符的内容返回,或者省略size则读取到文件末尾,即一次读取文件所有内容
		-readline() 从文本文件中读取一行
		-readlines() 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回
		-writer(str) 将字符串str内容写入文件
		-writelines(s_list) 将字符串列表s_list写入文本文件,不添加换行符 
		-seek(offset,[whence])
			-把文件指针移动到新位置,offset表示相对于whence的位置offset为正 往结束方向移动 为负 往开始方向移动
			-0从文件头开始计算(默认值)
			-1从当前位置开始计算
			-2从文件尾开始计算
		-tell() 返回文件指针的当前位置
		-flush() 把缓冲区的内容写入文件,但不关闭文件
		-close() 把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源

九、with语句

-with语句可以自动管理上下文资源,不论什么原因跳出with块,都能保证文件正确关闭,以此来达到释放资源的目的
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leon.shadow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值