1. <meter id="pgfiy"><strong id="pgfiy"><source id="pgfiy"></source></strong></meter>
      <label id="pgfiy"></label>

      <listing id="pgfiy"><object id="pgfiy"><tr id="pgfiy"></tr></object></listing>
      1. <mark id="pgfiy"></mark>
        <output id="pgfiy"><wbr id="pgfiy"><dd id="pgfiy"></dd></wbr></output>

          千锋教育-做有情怀、有良心、有品质的IT职业教育机构

          400-811-9990
          当前位置:首页  >  常见问题  >  就业相关  >  正文

          Python工程师面试题之必须掌握的基础语法知识

          时间:2019-01-16 16:03     来源:千锋教育 作者:Yolanda
          分享: 更多

            1.可变与不可变类型;

            不可变类型(数字、字符串、元组、不可变集合)不可变类型不能被修改。

            可变类型(列表、字典、可变集合)。

            2.__new__() 与 __init__()的区别;

            _new_作用于_init_之前。前者可以决定是否调用后者,或者说可以决定调用哪个类的_init_方法。

            首先要知道在面向对象编程?#26657;?#23454;例化基本遵循创建实例对象、初始化实例对象、最后返回实例对象这么一个过程。

            Python 中的 _new_ 方法负责创建一个实例对象,_init_ 方法负责将该实例对象进行初始化。

            3.设计模式相关知识

            单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访?#23454;悖?#20363;如框架中的数据库连接

            装饰器模式:不修改元类代码和?#22363;?#30340;情况下动态扩展类的功能,例如框架中的每个controller文件会提供before和after方法。

            迭代器模式: 提供一个方法?#25215;?#35775;问一个聚合对象中各个元素,在PHP中将?#22363;?Iterator 类。

            命令模式: 将”请求”封闭成对象, ?#21592;?#20351;用不同的请求,队列或者日志来参数化其他对象. 命令模式也支持可撤销的操作。

          ?#35745;?

            4.装饰器相关知识

            装饰器是一个函数,这个函数的主要作用?#21069;?#35013;另一个函数或类。包装的目的是在不改变原函数名的情况下改变被包装对象的行为。接收一个函数,内部?#20113;?#21253;装,然后返回一个新函数,这样子动态的增强函数功能;通过高阶函数传递函数参数,新函数添加旧函数的需求,然后执行旧函数。

            使用装饰器单例属性不会被覆盖。因为装饰器单例模式是直接返回之前生成的对象,并不会重新初始化对象。像new方法构建的单例模式会重新调用init方法,为实例重新初始化属性。

            5.垃圾回收机制相关知识

            垃圾回收:python解释器对正在使用的对象保持计数,当某个对像的引用计数降为0?#20445;?#22403;圾收集器就可以释放该对象,获取分配的内存。当分配对象和取消分配对象的差值高于阈值时垃圾回收才会启动。

            分代回收:python将所有的对象分为0,1,2三代。所有的新建对象都是0代对象。当某一代对象经历过垃圾回收,依然存活,那么它就被归入下一代对象。垃圾回?#25484;?#21160;?#20445;?#19968;定会扫描所有的0代对象。

            如果0代经过一定次数垃圾回收,那么就启动对0代和1代的扫描清理。当1代也经历了一定次数的垃圾回收后,那么会启动对0,1,2,即对所有对象进行扫描。

            6.多进程与多线程知识点

            多线程:在单个程序?#22411;?#26102;运行多个线程完成不同的工作,称为多线程。

            线程共享内存空间;进程的内存?#23884;?#31435;的,同一个进程的线程之间可以直接交流;两个进程想通信,必须通过一个中间代理来实?#37073;?#19968;个线程可以控制和操作同一进程里的其他线程;但是进程只能操作子进程。进程间通信主要包括管道, 系统IPC(包括消息队列,信号量,共享存储), SOCKET。

            多进程的优点是稳定性好,一个子进程崩溃了,不会影响主进程以及其余进程。但是缺点是创建进程的代价非常大,因为操作系统要给每个进程分配固定的?#35797;础?/p>

            多线程优点?#20999;式?#39640;一些,但是致命的缺点是任?#25105;?#20010;线程崩溃都可能造成整个进程的崩溃,因为它们共享了进程的内存?#35797;?#27744;。

            7.协程知识点

            高并发+高扩展性+低成本:一个CPU支持上万的协程都不是问题。所以很适合用于高并发处理协程能保留上一次调用时的状态,管是进程还是线程,每次阻塞、切换都需要陷入系?#36710;?#29992;,使用线程时需要非常小心地处理同步问题,而协程完全不存在这个问题。

          相关文章

          • 北京天丰利校区(总部)地址:北京市海淀区宝盛北里西区28号天丰利?#22363;?层
            北京沙?#26377;?#21306;:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼2、3层
            咨询电话:400-811-9990
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 深圳西部硅谷校区地址:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619
            深圳大学城校区地址:深圳?#24515;?#23665;区留仙大道1201号大学城创客小镇16栋3楼
            咨询电话: 0755-23015275/23015546-801(硅谷) 0755-86660670-801(大学城)
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 上海校区地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
            咨询电话:400-811-9990 021-65233829-609
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 郑州校区地址:郑州市二七区航海?#26032;?0号海为科技园C区10层
            咨询电话:0371-55191750
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 广州校区地址:广州市天河区元岗路200号慧通产业园B9三层
            咨询电话:020-38035223 020-38035220
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 大连校区地址:辽宁省大连市高新园区爱贤街10号大连设计城A座901
            咨询电话:400-811-9990
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 武汉金融港校区地址:武汉市东湖高新技术开发区光谷大道77号金融港B18栋3楼
            武汉智慧园校区地址:武汉市东湖高新技术开发区光谷大道61号智慧园21栋2楼
            咨询电话:027-59313371
            面授课程:HTML5大前端培训、全链路UI/UE设计培训、PHP全栈+服务器集群培训、JavaEE+分布式开发培训、大数据+人工智能培训、 Unity游戏开发培训、360网络安全、Python培训、云计算+信息安全培训、全栈软件测试培训、智能物联网+嵌入式培训
          • 成都校区地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
            咨询电话:400-811-9990 028-83178771
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 西安校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
            咨询电话:029-85363390
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 杭州旺田校区:浙江省杭州?#34218;?#24178;区九堡旺田书画城A座4层
            杭州龙驰校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层
            咨询电话:400-811-9990 0571-86893632/0571-86094032
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 青岛校区地址:青岛市市北区龙城路卓越世纪中心3号楼8层801
            咨询电话:0532-80911190
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 重庆校区地址:重庆市高新区科园一路2号大西洋国际12-1
            咨询电话:400-811-9990 023-68883009
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 长沙校区地址?#27721;?#21335;省长沙?#24615;?#40595;区麓谷企业广场A2栋三单元306号
            咨询电话:0731-85513210
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 哈尔滨校区地址:哈尔滨市松北区创新一路699号 科技创新城19号楼B座五楼
            咨询电话:400-811-9990/0451-87173191
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 南京校区地址:南京市建邺区应天大街780号应天智汇产业园弘辉园1幢2楼
            咨询电话:400-811-9990
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 太原校区地址:太原?#34892;?#24215;区长治路230号能源互联网大厦6层
            咨询电话:400-811-9990
            面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、云计算+信息安全培训、全栈软件测试培训、大数据+人工智能培训、物联网+嵌入式培训、Unity游戏开发培训、区块?#30784;HP全栈+服务器集群培训、网络安全、红帽RHCE认证、好程序员
          • 千锋教育服务号

            了解千锋动态
            关注千锋教育服务号

          • 千锋教育移动站

            扫一扫快速进入
            千锋移动端页面

          • 千锋互联服务号

            扫码匿名提建议
            直达CEO信箱

          广东快乐10分开奖走势
          1. <meter id="pgfiy"><strong id="pgfiy"><source id="pgfiy"></source></strong></meter>
            <label id="pgfiy"></label>

            <listing id="pgfiy"><object id="pgfiy"><tr id="pgfiy"></tr></object></listing>
            1. <mark id="pgfiy"></mark>
              <output id="pgfiy"><wbr id="pgfiy"><dd id="pgfiy"></dd></wbr></output>

                1. <meter id="pgfiy"><strong id="pgfiy"><source id="pgfiy"></source></strong></meter>
                  <label id="pgfiy"></label>

                  <listing id="pgfiy"><object id="pgfiy"><tr id="pgfiy"></tr></object></listing>
                  1. <mark id="pgfiy"></mark>
                    <output id="pgfiy"><wbr id="pgfiy"><dd id="pgfiy"></dd></wbr></output>