随笔分类 - python
摘要:1.Ajax Ajax在页面不刷新的情况下,向后台发送数据; Form表单提交,页面会自动刷新; 这就是Ajax与Form表单的区别。 Ajax格式 应用: 模态对话框(Ajax) -少量输入框 -数据少 新URL方式 -操作多 -对于大量的数据及操作 2.js实现页面跳转 location.hre
阅读全文
摘要:1 multiprocessing模块 (2.)创建类的方法 构造方法: Process([group [, target [, name [, args [, kwargs]]]]]) group: 线程组,目前还没有实现,库引用中提示必须是None; target: 要执行的方法; name:
阅读全文
posted @ 2017-05-12 19:29
qianxiamo
摘要:1 GIL全局解释器锁定义 定义:在一个线程拥有了解释器的访问权后,其他的所有线程都必须等待他释放解释器的访问权,即这些线程的下一条指令并不会互相影响。 缺点:多处理器退化为单处理器 优点:避免大量的加锁解锁操作 无论你启多少个线程,你有多少个cpu,python在执行一个进程的时候会淡定的在同一时
阅读全文
posted @ 2017-05-12 19:24
qianxiamo
摘要:1 操作系统 为什么要有操作系统 ? 操作系统位于底层硬件与应用软件之间的一层 工作方式:向下管理硬件,向上提供接口 操作系统进程切换: 2 进程和线程的概念 进程就是一个程序在一个数据集上的一次动态执行过程。进程一般由程序,数据集和进程控制块三部分组成。 程序用来描述进程要完成哪些功能以及如何完成
阅读全文
posted @ 2017-05-12 19:10
qianxiamo
摘要:1 socketserver实现并发 基于tcp的套接字,关键是两个循环,一个通信循环,一个链接循环 Socketserver的 模块中分成两类: Server类(解决连接问题) Request类(解决通信问题) server类: request类: 继承关系: 2套接字工作流程(udp) UDP:
阅读全文
posted @ 2017-05-07 13:41
qianxiamo
摘要:1 什么是粘包 只有TCP有粘包现象,UDP永远不会粘包 应用程序所看到的数据是一个整体,或说是一个流(stream),一条消息有多少字节对应用程序是不可见的,因此TCP协议是面向连接的,面向流的,收发两端都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优
阅读全文
posted @ 2017-05-07 13:37
qianxiamo
摘要:1 套接字发展史及发展 套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD Unix。 因此,有时人们也把套接字称为“伯克利套接字”或“BSD 套接字”。一开始,套接字被设计用在同 一台主机上多个应用程序之间的通讯。这也被称进程间通讯,或 IPC。套接
阅读全文
posted @ 2017-05-07 13:34
qianxiamo
摘要:1 客户端/服务器架构 C/S架构 C/S架构包括: (1) 硬件C/S架构(打印机) (2) 软件C/S架构(web服务) C/S架构与socket的关系: 学习socket就是为了完成C/S架构的开发 2 osi七层 C/S架构的软件(软件属于应用层)是基于网络通信的软件 网络的核心即一堆协议,
阅读全文
posted @ 2017-05-07 13:31
qianxiamo
摘要:1.异常处理 1.1错误 程序中难免出现错误,错误分成两种: (1.)语法错误 (2.)逻辑错误 什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下: 异常种类 在python中不同的异常可以用不同的类型去标识,不同的类对象标识不同的异常,一个异常标识一种错误 1.2
阅读全文
posted @ 2017-05-02 18:39
qianxiamo
摘要:1.模块与包 包是一种通过使用模块名来组织python模块名称空间的方式 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法 包的本质就是一个包含__init__.py文件的目录 凡是在导入时带点的,
阅读全文
posted @ 2017-05-02 18:35
qianxiamo
摘要:1 模块与包 1.1 模块的定义 什么是模块 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 为什么使用模块 在退出python解释器然后重新进入,之前定义的函数或者变量都将丢失,因此我们通常将程序写在文件中以便永久保存下来,需要时就通过python test.
阅读全文
posted @ 2017-05-02 18:33
qianxiamo
摘要:RE模块使用方法 (1)finditer 返回迭代器 (2)search:只匹配第一个结果 (3)match:只在字符串开始的位置匹配 (4)split:分割 (5)sub:替换 需要三个参数 (6)compile:编译方法
阅读全文
posted @ 2017-04-28 15:04
qianxiamo
摘要:1.logging模块 等级 debug >info >warning(默认) >error >critical 配置两种方式: 注意:流向只能有一个,屏幕或者文件 2.JSON模块 把对象(变量)从内存中变成可存储或传输的过程称之为序列化;反过来,把变量内容从序列化的对象重新读到内存里称之为反序列
阅读全文
posted @ 2017-04-28 14:57
qianxiamo
摘要:1时间模块 导入时间模块 import time 时间模块的表示方式 小结: 元组则是用来操作时间的 时间形式的转换 注意: 字符串和时间戳不能直接转换 2随机数模块 导入模块 import random 3 hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1
阅读全文
posted @ 2017-04-26 15:04
qianxiamo
摘要:一.__slots__ 1.__slots__的概念:是一个变量,变量值可以是列表,元组,或者可迭代对象,也可以是一个字符串。 2.使用点来访问属性本质就是在访问类或者对象的__dict__属性字典(类的字典是共享的,而每个实例是独立的) 3.为什么要用:节省内存,不会产生新的名称空间。 定义__s
阅读全文
posted @ 2017-04-25 18:58
qianxiamo
摘要:__setitem__ __getitem__ __delitem__这三个函数 是通过字典形式来处理属性 字典形式使用中括号的方式获取值
阅读全文
posted @ 2017-04-25 18:43
qianxiamo
摘要:isinstance(obj,cls)检查obj是否是类的对象 Issubclass(sub,super)检查sub类是否是super类的派生类 反射的概念:指程序可以访问、检测和修改它本身2状态或行为的一种能力(自省)。 Python面向对象中的反射:通过字符串的形式操作对象相关的属性。Pytho
阅读全文
posted @ 2017-04-24 19:28
qianxiamo
摘要:1.封装与扩展性 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用的代码;而外部使用者只知道一个接口(函数),只要接口(函数)名,参数不变,使用者的代码永远无需改变。这就提供了一个良好的合作基础——或者说,只要这个基础约定不变,则代码改变不足为虑。 #类的设计者,轻松的扩展了功
阅读全文
posted @ 2017-04-24 19:24
qianxiamo
摘要:Property的概念:property是一种特殊的属性,访问它时会执行一段功能(函数),然后返回值。 为什么要用property 将一个类的函数定义成特性以后,对象再去使用的时候obj,name根本无法察觉自己的name是执行了一个函数然后计算出来的,这种特性的使用方式遵循了统一访问的原则 除此之
阅读全文
posted @ 2017-04-24 19:21
qianxiamo
摘要:封装的主要原因是保护隐私,隔离复杂度 封装分为两个层面: 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称精简,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种分装。 注意:对于这一层面的封装(隐藏),类名.和实例名.就是访问隐藏属性的接口 第二层面的封装:类中把
阅读全文
posted @ 2017-04-24 19:20
qianxiamo
浙公网安备 33010602011771号