configparser模块,subprocess 模块,xlrd,xlwt ,xml 模块,面向对象

时间:2022-10-25 21:50:29

1. configparser模块

2.subprocess 模块

3.xlrd,xlwt

4.xml 模块

5.面向对象

面向对象是什么?
是一种编程思想,指导你如何更好的编写代码
关注点在对象
具体存在的,拥有某些特征和行为
类,具备相同特征和相同行为的对象形成的抽象概念
在程序中先有类后有对象 面向过程 中关注的是实现任务具体的过程,即先干啥 再干啥,一种机械化思考方式 像是一个具体的操作者
面向对象 中关注的是对象 ,即实现某个任务需要什么对象 从 一个操作者变成了指挥者 面向对象的优点:
扩展性,复用性,耦合度降低,可维护性强
缺点:
编程的复杂度变高了,容易出现过度设计,无法准确预知道执行结果
使用场景:
当对于扩展性要求较高时,较大的程序应该优先考虑面向对象 面向过程一时爽 重构火葬场 面向过程优点:
将复杂的问题,简单化,流程化
缺点:
扩展性差,维护性变差, 绑定方法:
一个类中的方法默认就是绑定给对象的
对象调用时会自动传入对象本身 也可以绑定给类
@classmethod
当用对象或类调用时都会传入类本身 非绑定方法
@staticmethod
就是一个普通函数 没有自动传值 属性的访问顺序
先访问对象自己的名名称空间 -> 所在类的名称空间 ->父类的名称空间 -> object
继承
在程序继承是一种关系,是类与类之间的关系 ,是一种什么是什么的关系
子类可以直接使用父类提供的内容 目的就是减少代码冗余,提高复用性 继承的使用姿势
使用方法1
先抽象
抽取一系列类中相同的特征和行为 形成新的类
再继承
例如老师和学生 可以抽取一个Person类 将相同的姓名 年龄 性别 进行抽取 使用方法2
继承一个已经存在的类 扩展新功能 或修改原有的功能
但是不要忘记 super()调用原来的方法 派生:
子类拥有与父类不同的内容
子类出现了与父类名称完全一致的内容 父类的将被覆盖 子类访问父类的内容
super().__init__(name,age,gender) python支持多继承
新式:类直接或间接继承了object的类 py3都是新式类
经典类 不是object的子类 仅在py2中存在
问题: 多个父类中出现了相同的名字时,到底用哪个?
新式类可以通过类名.mro()来查看顺序
如是经典类 是深度优先
唯一的区别就是菱形继承时的查找顺序
一个类有多个父类 多个父类拥有一个共同父类
经典类 深度优先
新式类 先深度 遇到共同父类时 换另一条线 最后再查找共同父类 Object 接口
是一套协议规范
在python用一个类来定义接口
用来提前告诉子类们 应该如何实现
此时子类完全可以不遵守这个协议 就可以采用抽象类来进行限制
抽象类
抽象类 包含抽象方法的类
抽象方法 没有函数体的方法
其作用就是用于限制子类 必须实现某些方法
import abc
class A(metaclass=abc.ABCMeta)
@abc.abstracmethod
def test():
pass 抽象类无法直接实例化对象 python 一般不会强行限制你 所以 推荐使用鸭子类型
如果一个对象长得像鸭子 ,行为像鸭子 那就把它当成鸭子来看待
具体代码表现: 不用关心对象的类型 只要对象具备相同的行为和特征即可 组合:
一个对象把另一个对象作为属性
是为了复用代码
这是 什么有什么的关系 学生有电脑 封装:
指的是 限制外部对内部属性和方法的访问权限
公开的
谁都能访问 默认就是公开的
私有的
只有当前类本身可以访问
对外部隐藏内部实现细节,并提供使用接口 如何封装 在名称前添加__ 被封装的呢内容外界无法直接访问 ,我们可以提供访问的接口
定义访问器 和 设置器 本质就是一个方法 通过方法来访问内部封装的内容 封装属性 提高安全性
封装方法 隔离复杂度 使用property 来将一个方法伪装成一个普通属性 可以用点直接访问
1.访问私有属性和普通属性方法一致
2.可以实现计算属性 (这个属性的值是通过计算得来可能会变化) setter
用修改属性的值
deleter
删除某个属性 多态:
是一种特性 或一种状态
多个不同对象拥有相同的方法
1.接口
2.抽象类
3.鸭子类型(掌柜推荐) 好处是:
提高灵活性
以不变应万变
只需要掌握一套使用方法就可以使用多种不同对象
扩展性
提前写好了一套使用对象的代码 后续可以传入任何新类型的对象 只要它们长得像就行 __str__
在将对象转为字符串时自动触发执行 要求必须返回字符串
用来自定义对象的打印内容 __del__
析构函数 把对象拆干净
在对象删除前自动触发 ,用来做一些清理操作 ,例如对象可能打开了文件等等 反射
通过字符串来操作对象的属性

setattr

deleattr

setattr

hasattr 判断是否存在
getattr 获取属性的值 当你的代码以及提前写好了 而对象时后续传入的 那就需要用反射 来判断或获取属性 从而使用
在框架中到处都有反射
因为框架就是 先写好代码 后续再创建类和对象 动态导入:
静态 直接代码写死 import xxx.xx
动态 在任何位置 任何时候 都可以通过指定字符串类型的模块名称来导入模块

configparser模块,subprocess 模块,xlrd,xlwt ,xml 模块,面向对象的更多相关文章

  1. hashlib,hmac,subprocess,configparser,xlrd,xlwt,xml模块基本功能

    hashlib模块:加密 import hashlib# 基本使用cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8'))print(cipher.h ...

  2. Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块

    Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函 ...

  3. 常用模块之 os,json,shelve,xml模块

    os 即操作系统 在 os 中提供了很多关于文件,文件夹,路径处理的函数 这是我们学习的重点 os.path 是os模块下专门用于处理路径相关的 python是一门跨平台语言,由于每个平台路径规则不同 ...

  4. 函数和常用模块【day06】:xml模块(六)

    本节内容 1.简述 2.xml格式 3.xml节点操作 4.创建新的xml文件 一.简述 xml是实现不同语言或者程序之间进行数据交换的协议,跟json差不多,但是json使用起来更简单,不过,古时候 ...

  5. Python 入门基础17 --加密、表格、xml模块

    今日内容: 1.hashlib模块:加密 2.hmac模块:加密 3.configparser模块:操作配置文件 4.subprocess模块:操作shell命令 5.xlrd模块:excel 6.x ...

  6. 20 常用模块 hashlib hmac:加密 xml xlrd xlwt:excel读|写 configparser subprocess

    hashlib模块:加密 加密: 1.有解密的加密方式 2.无解密的加密方式:碰撞检查 hashlib -- 1)不同数据加密后的结果一定不一致 -- 2)相同数据的加密结果一定是一致的 import ...

  7. configparser ,subprocess , xlrd ,xlwt 模块

    一,configparser模块 ''' configparser模块: 是什么: 用于解析配置文件的模块 配置文件的定义: 用于编写保存某个软件或某个系统的一系列参数的文件 设置参数 为什么需要配置 ...

  8. configparser模块 subprocess 模块,xlrd 模块(表格处理)

    今日内容: 1.configparser模块 2.subprocess模块 3.xlrd(读),xlwt(写) 表格处理 configparser模块 import configparser # co ...

  9. s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译

    时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...

随机推荐

  1. 异步任务(AsyncTask)

    1.Android UI组件更新简介 Android的UI线程主要负责处理用户的按键事件.用户触屏事件及屏幕绘图事件等,因此开发者的其它操作不应该,也不能阻塞UI线程,否则UI界面将会变的停止响应.A ...

  2. 动态链接--so的搜索过程

    可执行文件所依赖的so路径保存在.dynamic 里面,由DT_NEED类型表示.如下: 如果DT_NEED里面保存的是绝对路径,那ld就在绝对路径下查找so. 如果DT_NEED里面保存的是相对路径 ...

  3. 132. Palindrome Partitioning II

    题目: Given a string s, partition s such that every substring of the partition is a palindrome. Return ...

  4. 调用支付宝接口Android客户端没有支付宝APP的情况下解决无法调用支付宝页面的问题

    这几天一直研究支付宝接口调用,因为当前应用中需要调用支付宝接口作移动支付. 遇到一个问题困扰几天,就是当我们的手机端未安装支付宝APP的时候,需要在自己应用中调用支付宝的登陆网页进行支付.我是Andr ...

  5. HDOJ 2018 母牛的故事

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

  6. S3 Browser 配置指南

    S3 Browser 相对于s3cmd是一个很方便的操作S3的图形化界面工具. 以下是配置步骤: 下载网址:http://s3browser.com/ keygen破解版: http://appdol ...

  7. 为什么一个java源文件中只能有一个public类

    问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件 ...

  8. BZOJ5047 空间传送装置 2017年9月月赛 最短路 SPFA

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5047 题意概括 概括??~别为难语文做一题错两题的我了…… 题解 我们发现,对于某一种装置,有c种 ...

  9. 20165213 java学习第一周

    20165213 -2018-2<Java程序设计>第一周学习总结 教材学习内容总结 java的四个特点:面向对象.平台无关性.动态性.简单. java编写程序步骤:再有jdk的情况下,先 ...

  10. 浅谈weblogic与tomcat的区别

    weblogic是用于开发.集成.部署和管理大型分布式web应用.网络应用和数据库应用的java应用服务器,将java的动态功能和java enterprise标准的安全性引入大型网络应用的开发集成部 ...