2022换工作面经--蓝湖
1、python装饰器
1.1、装饰器的概念
装饰器本质上就是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象(函数的指针)
1.2、装饰器的使用场景
登陆鉴权,日志打印,函数执行时长统计
def login_check(func):def wrapper(request, *args, **kwargs):if not request.session.get('login_status'):return HttpResponseRedirect('/api/login/')return func(request, *args, **kwargs)return wrapper@login_check
def edit_config():pass"""
> 1. def login_check(func): ==>将login_check函数加载到内存
> ....
> @login_check ==>此处已经在内存中将login_check这个函数执行了!;并不需要等edit_config()实例化调用
> 2. 上例@login_check内部会执行以下操作:
> 2.1 执行login_check函数,并将 @login_check 下面的 函数(edit_config) 作为login_check函数的参数,即:@login_check 等价于 login_check(edit_config)
> 2.2 内部就会去执行:def wrapper(*args):# 校验session...return func(request, *args, **kwargs) # func是参数,此时 func 等于 edit_config,此处相当于edit_config(request, *args, **kwargs)return wrapper # 返回的 wrapper,wrapper代表的是函数对象,非函数实例化对象2.3 其实就是将原来的 edit_config 函数塞进另外一个函数中,另一个函数当中可以做一些操作;再执行edit_config2.4 将执行完的 login_check 函数返回值(也就是 wrapper对象)将此返回值再重新赋值给新 edit_config,即:2.5 新edit_config = def wrapper:# 校验session...return 原来edit_config(request, *args, **kwargs)
> 3. 也就是新edit_config()=login_check(edit_config):wrapper(request, *args, **kwargs):return edit_config(request, *args, **kwargs) 有点绕,大家看步骤细细理解。
"""
2、python迭代器
2.1、基本概念:是指该对象可以被用于for…in…循环,例如:集合,列表,元祖,字典,字符串,迭代器等,在python中如果一个对象实现了 __iter__方法,我们就称之为可迭代对象
3、python生成器
3.1、基本概念:在Python中,一边循环一边计算的机制,称为生成器:generator;同时生成器对象也是迭代器对象,所以他有迭代器的特性;例如支持for循环、next()方法…等
4、python多线程
python3可以使用threading模块实现
threading 模块除了包含 _thread 模块中的所有方法外,还提供的其他方法:
- threading.currentThread(): 返回当前的线程变量。
- threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。
- threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。
# run(): 用以表示线程活动的方法
# start():启动线程活动
# join([time]): 等待至线程中止
# isAlive(): 返回线程是否活动的
# getName(): 返回线程名
# setName(): 设置线程名
import threading
import timedef sing(num):for i in range(num):print("sing%d" % i)time.sleep(0.5)def dance(num):for i in range(num):print("dancing%d" % i)time.sleep(0.5)def main():"""创建启动线程"""t_sing = threading.Thread(target=sing, args=(5,))t_dance = threading.Thread(target=dance, args=(6, ))t_sing.start()t_dance.start()if __name__ == '__main__':main()
5、python垃圾回收机制
'''python多线程详解什么是线程?线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行
''''''为什么要使用多线程?线程在程序中是独立的、并发的执行流。与分隔的进程相比,进程中线程之间的隔离程度要小,它们共享内存、文件句柄和其他进程应有的状态。因为线程的划分尺度小于进程,使得多线程程序的并发性高。进程在执行过程之中拥有独立的内存单元,而多个线程共享内存,从而极大的提升了程序的运行效率。线程比进程具有更高的性能,这是由于同一个进程中的线程都有共性,多个线程共享一个进程的虚拟空间。线程的共享环境包括进程代码段、进程的共有数据等,利用这些共享的数据,线程之间很容易实现通信。操作系统在创建进程时,必须为改进程分配独立的内存空间,并分配大量的相关资源,但创建线程则简单得多。因此,使用多线程来实现并发比使用多进程的性能高得要多。
''''''总结起来,使用多线程编程具有如下几个优点:进程之间不能共享内存,但线程之间共享内存非常容易。操作系统在创建进程时,需要为该进程重新分配系统资源,但创建线程的代价则小得多。因此使用多线程来实现多任务并发执行比使用多进程的效率高python语言内置了多线程功能支持,而不是单纯地作为底层操作系统的调度方式,从而简化了python的多线程编程。
'''
6、python深浅拷贝
浅拷贝:对于不可变数据类型(整数、字符串、浮点数、布尔型、元组)拷贝的时候新开辟地址空间,对于可变数据类型(列表、字典、集合)拷贝的是地址引用,不会开新空间
深拷贝:对于不可变数据类型(整数、字符串、浮点数、布尔型、元组)拷贝的时候新开辟地址空间,对于可变数据类型(列表、字典、集合)拷贝的时候会开辟心新的地址空间
所以,浅拷贝,当改变新对象的可变数据类型内容的时候,会改变原对象的内容;深拷贝,当改变新对象的可变数据类型内容的时候,不会改变原对象的内容
一张图解答所有疑问
7、python中元组和列表的区别
7.1、元组是静态数据类型,列表是动态数据类型;所以就意味着元组一旦创建,不能改变(长度+内容),但是列表创建后,它的长度和内容可以改变
7.2、元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存
8、python中dump和loads是什么区别
json.dumps() 将Python 字典类型转换为 JSON 对象
json.loads() 将json格式转换成python字典类型
json中除数据即数字外,key和value都是字符串,要用双引号引起来;空值为null;布尔值为false/true(小写)
9、测试流程
10、项目
2022换工作面经--蓝湖相关推荐
- 2022换工作面经--开课吧
一.面试题目 1.Linux内核 2.当前服务是81端口,服务起不来,此时会是什么原因 3.vue的生命周期函数 4.python如何把两个字典合并成一个 5.sql中的子句都有哪些 6.sql左连接 ...
- 【愚公系列】2022年10月 微信小程序-电商项目-UI设计之蓝湖的使用
文章目录 前言 一.UI设计之蓝湖的使用 1.下载插件 2.生成代码 3.配置代码 前言 蓝湖是一款产品文档和设计图的共享平台,帮助互联网团队更好地管理文档和设计图.蓝湖可以在线展示Axure,自动生 ...
- 元宇宙环境下的蓝湖战略
忽然想起一句话,高楼万丈平地起.元宇宙就象一阵风来到,但又象星辰大海一样,似乎很遥远,很朦胧.科技的发展突飞猛进,国际形势复杂多变,作为企业家,作为普通人,我们的方向在哪里?这是个问题.梦想照见现实, ...
- 如何安装蓝湖插件支持Photoshop CC 2017
蓝湖 - 高效的产品设计协作平台蓝湖是一款产品文档和设计图的共享平台,帮助互联网团队更好地管理文档和设计图.蓝湖可以在线展示Axure,自动生成设计图标注,与团队共享设计图,展示页面之间的跳转关系.蓝 ...
- 【React组件】写一个模仿蓝湖的图片查看器
前言 最近公司让写一个可以自由拖拽放大的图片查看器,我寻思这还不简单,一顿操作猛如虎,俩小时后: 事实证明,一旦涉及到 DOM 的变换操作,如果很多细节考虑不全,抓过来就写,那基本就凉了.于是我仔细分 ...
- 怎么用class引入svg_【蓝湖指北】走向设计巅峰,从蓝湖 Sketch 插件开始,用它!...
用好蓝湖,提升团队协作效率,蓝湖指北,教你如何用好蓝湖.本期[蓝湖指北]如约而至- Sketch 作为一款轻量级的矢量设计工具,凭借其强大的界面设计功能,被大多数 UI 设计师所使用,日渐成为产品研发 ...
- 蓝湖怎么切图标注_【蓝湖指北】一张图教你如何选择标注尺寸
蓝湖的标注.切图功能广受好评,正确选择标注尺寸,让设计师与工程师的沟通和协作事半功倍.本期[蓝湖指北],湖湖将手把手教你如何选择标注尺寸. Step 1 :将设计图上传至蓝湖 上传设计图至蓝湖,单击设 ...
- 蓝湖怎么切图标注_【蓝湖指北】你真的会切图吗?
用好蓝湖,提升团队协作效率, 蓝湖指北,教你如何用好蓝湖. 本期[蓝湖指北]如约而至- 应付奇葩需求.交付设计图,乃设计师职业生涯中的两大难题.对 UI 设计师而言,交付设计图绝不只是打包.发送设 ...
- (51)蓝湖团队协作开发平台
一.Adobe Photoshop 二.Adobe Fireworks 三.Sketch(Mac版本电脑前端程序员最喜欢的切图工具) 四.插件:Cutterman(早期程序员最爱用的插件) 蓝湖(现在 ...
最新文章
- python入门指南 许半仙 txt-第1题_峥嵘_玄幻奇幻_百家网
- 学习笔记Kafka(五)—— Kafka 开发环境配置及Producer API
- Nginx HTTP User_agent
- 【转】常用的工业测量坐标系
- c python 内存冲突_Python在计算内存时应该注意的问题?
- 【Python】ConvergenceWarning: Maximum number of iterations 200 reached. Increase it to improve...
- 解决无法连接mysql问题
- 小米笔记本电脑键盘卡键维修
- almalinux8 编译openssh 9.1p1生成rpm包并验证安装
- 南阳oj 题目72 Financial Management
- Python进阶读书笔记之(四) set集合
- 软考高级 2022年11月信息系统项目管理师
- 香港中文大学-人脸识别进展-2014-06
- Java关于大批量数据处理
- 游戏界的“扛把子”,“3D 游戏之父”, 约翰•卡马克的传奇人生
- vue组件测试-Vue Test Utils 应用入门
- 20190917练习题总结——选择题
- 如何去掉“Picked up JAVA_TOOL_OPTIONS: -Djava.vendor=“Sun Microsystems Inc.“” 提示
- 为docker容器设置独立ip
- 如何防止勒索病毒祸害医院:不要裸奔,要灾备造就安全
热门文章
- 双网卡电脑使用不同网关同时连接内外网(笔记记录)
- rime (中州韵) 安装方法
- gin获取GET和POST表单信息
- 怎么将CAD转换成PDF?最简单快速的转换方法
- 软件设置linux时区,Linux设置和修改时间与时区
- 2017年4月高等教育国际金融全国统一命题考试
- 初出茅庐的小李第113篇博客项目笔记之机智云智能浇花器实战(2)-基础Demo实现
- ADC噪声系数 —— 一个经常被误解的参数
- 电脑下载python却无法识别出来_python – 在其他计算机上测试EXE时找不到PyInstaller ImportError DLL...
- 优优系统-www.uusystem.com