09 2019 档案
Python学习日记(三十三) Mysql数据库篇 一
摘要:背景 Mysql是一个关系型数据库,由瑞典Mysql AB开发,目前属于Oracle旗下的产品。Mysql是目前最流行的关系型数据库管理系统之一,在WEB方面,Mysql是最好的RDBMS(Relational Database Management System)。Mysql是一种关系数据库管理系
阅读全文
Python学习日记(三十二) hmac检验客户端的合法性和socketsever模块
摘要:Hmac模块 其实这个模块类似hashlib模块,它能将一些重要的信息通过算法加密成密文,让信息更具有安全性。 关于hmac加密算法的了解:它的全名是哈希运算消息认证码(Hash-based Message Authentication Code),HMAC利用hash算法,以一个消息M和一个秘钥K
阅读全文
Python学习日记(三十一) 黏包问题
摘要:PIPE把输出的东西装到一个'水管'里,如果在windows中的编码格式是gbk,执行结果: 在这里也可以使用os.popen()但是它会不管正确和错误的结果都放在一起,而用subprocess能够分别拿到正确和错误的信息 基于TCP实现的黏包 Sever: Client: 执行结果: Sever:
阅读全文
Python学习日记(三十) Socket模块使用
摘要:Socket(套接字) 套接字是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。 发展:套接字最初是由加利福尼亚大学Berkely分校为Unix系统
阅读全文
Python学习日记(二十九) 网络编程
摘要:早期的计算机通信需要有一个中间件,A要给B传东西,A必须要把信息传给中间件,B再把从中间件中拿到信息 由于不同机器之间需要通信就产生了网络 软件开发的架构 1.C/S架构 服务器-客户机,即Client-Server架构,C/S架构通常采取两层结构.Sever负责数据的管理,Client负责完成与用
阅读全文
Python学习日记(二十八) hashlib模块、configparse模块、logging模块
摘要:hashlib模块 主要提供字符加密算法功能,如md5、sha1、sha224、sha512、sha384等,这里的加密算法称为摘要算法。什么是摘要算法?它又称为哈希算法、散列算法,它通过一个函数把任意长度的数据转换为一个长度固定的数据串(通常以16进制符表示) 摘要算法的作用主要在于密码的密文存储
阅读全文
Python学习日记(二十七) 反射和几个内置函数
摘要:isinstance() 判断isinstance(obj,cls)中obj是否是cls类的对象 issubclass() 判断issubclass(sub,super)中sub是否是super类的派生类 反射 反射就是用字符串类型的名字去操作变量,python中的一切事物皆为对象(都可以使用反射)
阅读全文
Python学习日记(二十六) 封装和几个装饰器函数
摘要:封装 广义上的封装,它其实是一种面向对象的思想,它能够保护代码;狭义上的封装是面向对象三大特性之一,能把属性和方法都藏起来不让人看见 私有属性 私有属性表示方式即在一个属性名前加上两个双下划线 python的私有属性只是在代码的级别给加了一层密,不允许你直接去访问这些私有属性,像你去打印一个私有属性
阅读全文
Python学习日记(二十五) 接口类、抽象类、多态
摘要:接口类 继承有两种用途:继承基类的方法,并且做出自己的改变或扩展(代码重用)和声明某个子类兼容于某基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口的功能 比如说一种支付方式有三种不同的途径:Alipay、Applepay
阅读全文
Python学习日记(二十四) 继承
摘要:继承 什么是继承?就是一个派生类(derived class)继承基类(base class)的字段和方法。一个类可以被多个类继承;在python中,一个类可以继承多个类。 父类可以称为基类和超类,而子类可以称为派生类 在继承中可分为单继承和多继承两种 下面是继承的用法,语法为'class 子类的名
阅读全文
Python学习日记(二十三) 类命名空间和组合
摘要:类命名空间 在一个类中它的函数(方法)属于动态属性,直接定义的变量属于静态属性 首先先定义一个类,并在这个类里面加入静态变量、属性等然后将一个对象实例化 那如何修改一个静态属性,我们可以用类名.静态变量名等于我们想要赋值的内容就可以修改 如果我们用__dict__方法去修改结果是不行的 关系图: 当
阅读全文
Python学习日记(二十二) 初识面向对象
摘要:引子 假设我们要开发一个关于飞机大战的游戏,那么游戏的里面就会有两个角色,分别是属于玩家操控的战机和敌方的战机,并且两个战机都有不同的技能或攻击方式,现在我们用自己目前所学的去写出下面的这些代码: 我们在写好了这些属性之后就可以生成敌方的战机和玩家的战机: 那么在生成好了这些对象之后,我们还缺的是它
阅读全文
Python学习日记(二十一) 异常处理
摘要:程序中异常的类型 什么是异常 就是当程序执行时,执行到了影响程序正常执行的代码,在执行结果的界面会看到python解释器的报错信息.异常是一个python对象,表示一个错误. 错误的程序代码: 报错窗口: 解决一个异常 运用try...except...来解决异常问题 try是我们需要处理的代码 e
阅读全文
Python学习日记(十九) 模块导入
摘要:模块导入 当文件夹中有这样一个自定义的command模块 在它的内部写下下列代码: 然后我们在command模块中执行下列代码: 我们如果在这段程序中反复执行多次这一段代码,这一个文件结果也只会被导入一次 调用command模块中的方法fuc() 当我们写这样一个代码的时候,计算机会先去找到这一个模
阅读全文
Python学习日记(十八) 序列化模块
摘要:什么是序列? 就是每一个元素被有序的排成一列 什么是序列化? 就是将原本的列表、字典等内容转化成字符串的过程 什么时候会用到序列化? 数据存储(把数据放在文件、数据库),网络传输等 序列化的目的 1.以某种存储形式使自定义对象持久化 2.将对象从一个地方传递到另一个地方 3.使程序更具维护性 序列化
阅读全文