面向对象的进阶
1.补充:函数的生成器
Yield:可将函数变成一个迭代器(即生成器)
Try……except:尝试执行try中的代码,若有错,则被except捕获,但整个程序不会崩溃。
2.不定长参数(*args和**kwargs)
- *args—相当于位置传参(输出为元组)
- **kwargs—相当于带参数名称的传参(输出为字典)
- 不定长参数(*args一定要在前,**kwargs一定要在后)
不定长参数与装饰器结合使用(重要的参数要用带参数名的来进行传参,从而让**kwargs捕获):
例.写三个页面:A,B,C
要求:每个页面需要一个钩子,监测IP是否频繁访问;
若是,则不与访问,返回404。
将装饰器写在test1中:
test1:
进程和线程
1.并发与并行
并发(间隔发生):一个人做多个任务
并发即线程,是伪进程
并行(同时发生):多个人做一个任务
并行即进程,一个进程下可以开多个线程
2.python的多进程