一.进程队列补充-创建进程队列的另一个类JoinableQueue JoinableQueue同样通过multiprocessing使用. 创建队列的另外一个类: JoinableQueue([maxsize]):这就像是一个Queue对象,但队列允许项目的使用者通知生成者项目已经被成功处理.通知进程是使用共享的信号和条件变量来实现的. 参数介绍:     maxsize是队列中允许最大项数,省略则无大小限制.   方法介绍:     JoinableQueue的实例p除了与Queue对象相同的…
1. 常用事件 1. hover #鼠标悬停监听 2. keydown和keyup #键盘按键 按下/抬起 3. change #监听值的改变 全部输入完失去焦点后 4. focus和blur # 获取焦点/失去焦点 监听焦点,光标所在位置 5. input #监听input框内值改变事件,输入或删除途中 6. click #点击监听 keydown和keyup事件组合示例: <!DOCTYPE html> <html lang="zh-CN"> <hea…
昨天内容回顾: 1.迭代器 可迭代对象: 只要内置有__iter__方法的都是可迭代的对象 既有__iter__,又有__next__方法 调用__iter__方法==>得到内置的迭代器对象 调用__next__方法==>得到下一个值 for 循环机制 for item in 可迭代对象: pass   先调用对象的__iter__方法得到迭代器,再调用__next__方法,取出下一个值 优点 : 提供了一种不依赖索引的取值方式 同一时间在内存中只存在一个值,节省内存空间 缺点: 取值麻烦 一…
一.包 #官网解释 Packages are a way of structuring Python's module namespace by using "dotted module names" 包是一种通过使用'.模块名'来组织python模块名称空间的方式. #具体的:包就是一个包含有__init__.py文件的文件夹,所以其实我们创建包的目的就是为了用文件夹将文件/模块组织起来 #需要强调的是: 1. 在python3中,即使包下没有__init__.py文件,import…
一.视图 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次用的直接使用即可 2.为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何用视图 create view teacher2course asselect * from teacher inner join course on teacher.tid = course.teacher_id; drop view teacher2course; 强调1.在硬盘中,视图只有表结构文件,没有表数据文件2.视图通常…
一.继承 什么是继承:   继承是一种新建类的方式,在python中支持一个子类继承多个父类   新建类称为子类或派生类   父类可以称之为基类或者超类   子类会遗传父类的属性 2.  为什么继承 减少代码冗余 3. 定义方式: class Parent: pass class SubClass(Parent): pass print(SubClass.__bases__) #查看类的父类 4.  继承,调用父类方法以及self class Foo: def f1(self): print('…
1.类的定义 #类的定义 class 类名: 属性='xxx' def __init__(self): self.name='enon' self.age=18 def other_func: pass 在定义类的时候,类内的代码就已经执行了 在定义类时需要在类内定义一个叫__init__的函数,该函数在调用时才会执行 self是位置参数,用于在调用函数时接受传入的第一个参数,该参数为调用此方法的object本身 #类的实例化==>对象 #1. 若类内部没有设置__init__方法,则生成对象时…
1. 列表生成器 l=['egg%s' %i for i in range(100) if i>20 ] print(l) 若将 [ ] 换成 ( ),则为生成器表达式,结果是一个迭代器 #求文件中每行字符数的最大值 with open('E:\\test.txt','r',encoding='utf-8') as f : num=[len(line) for line in f] print(max(num)) 2. 模块 模块就是一系列功能的集合体,一个.py文件就是一个模块 #模块导入格式…
一.反射 下述四个函数是专门用来操作类与对象属性的,如何操作? 通过字符串来操作类与对象的属性,这种操作称为反射 class People: country="China" def __init__(self,name): self.name=name def tell(self): print('%s is aaa' %self.name) obj=People('egon') 1.hasattr print(hasattr(People,'country')) print('cou…
1.序列化和反序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling. 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling. 为什么要保持序列化?   1.持久化状态 2.跨平台数据交互 各种语言之间,实现数据相互转换 2.json.eval.pickle eval()虽然也能进行数据提取,但是,eval()只能识别python 定义的数据类型,用来做序列化不具有跨平台型 Json的使用 x="[1,2,true…