• 【Python面试真题】- 什么是GIL?

    【Python面试真题】- 什么是GIL? 什么是GIL(Global Interpreter Lock)全局解释器锁? 简单地说就是:  每一个interpreter进程,只能同时仅有一个线程来执行, 获得相关的锁, 存取相关的资源.  那么很容易就会发现,如果一个interpreter进程只能有一个线程来执行,   多线程的并发则成为不可能, 即使这几个线程之间不…

    Python开发, Python面试题 2019年4月2日
  • 史上最全 Python 面向对象编程

    转自:浪子燕青 http://www.langzi.fun/Python面向对象编程.html 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。 面向过程编程: 在多函数程序中,许多重要的数据被放置在全局数据区,这样它们可以被所有的函数访问。每个函数都可以具有它们自己的局部数据,将某些功能代码封装到函数中,日后便无需重复编写,仅调用函数即可。从代码的组织形式来看就是根据业务逻辑从上到下垒代码 。 面向对象编程: 面向对象编程中,将函数和变量进一步封装成类,类才是程序的基…

    Python开发 2019年4月1日
  • 【Python面试真题】- 你在github上都fork过哪些python库,列举一下你经常使用的,每个库用一句话描述下其功能?

    http://rogerdudler.github.io/git-guide/index.zh.html    #关于git简明指南    http://www.zhihu.com/question/20070065                 …

    Python开发, Python面试题 2019年4月1日
  • 【Python面试真题】- 调试python代码的方法有哪些?

    【Python面试真题】- 调试Python代码的方法有哪些? 1、具体IDE都有调试,比如:IDLE, Eclipse+Pydev都可以设置断点调试。    2、pdb模块也可以做调试。   3、还有PyChecker和Pylint   4、PyChecker是一个Python代码的静态分析工具,它可以帮助查找Python代码的bug, 会对代码的复杂度和格式提出警告   &…

    Python开发, Python面试题 2019年3月29日
  • 【Python面试真题】- 迭代器和生成器的区别

    【Python面试真题】- 迭代器和生成器的区别 1)迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身。对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是Python的内置函数。iter()会返回一个定义了next()方法的迭代器对象,它在容器中逐个访问容器内元素,next()也是Python的内置函数。在没有后续元素时,next()会抛出一个StopI…

    Python开发, Python面试题 2019年3月28日
  • 【Python面试真题】- 简单谈下GIL -Global Interpreter Lock(全局解释器锁)

    【Python面试真题】- 简单谈下GIL -Global Interpreter Lock(全局解释器锁) Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。

    Python开发, Python面试题 2019年3月27日
  • 【Python面试真题】- Python是如何进行内存管理的?

    【Python面试真题】- Python是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。 引用计数增加的情况: 1,一个对象分配一个新名称 2,将其放入一个容器中(如列表、元组或字典) 引用计数减少的情况: 1,使用del语句对对象别名显示的销毁 2,引用超出作用域或被重新赋值 sys.getrefcount( )函数可以获得对象的当前引用计数 多数…

    Python开发, Python面试题 2019年3月26日
  • 【Python面试真题】- Django 本身提供了 runserver,为什么不能用来部署?

    【Python面试真题】- Django 本身提供了 runserver,为什么不能用来部署? runserver 方法是调试 Django 时经常用到的运行方式,它使用 Django 自带的 WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。  uWSGI 是一个 Web 服务器,它实现了 WSGI 协议、uwsgi、http 等协议。注意 uwsgi 是一种通信协议,而 uWSGI 是实现 uwsgi 协议和 WSGI 协议的 …

    Python开发, Python面试题 2019年3月25日
  • 【Python面试真题】- 如何提高python的运行效率 ?

    【Python面试真题】- 如何提高Python的运行效率 ? 使用生成器;关键代码使用外部功能包(Cython,pylnlne,pypy,pyrex);针对循环的优化--尽量避免在循环中访问变量的属性

    Python开发, Python面试题 2019年3月22日
  • 【Python面试真题】- 写爬虫是用多进程好?还是多线程好? 为什么?

    【Python面试真题】- 写爬虫是用多进程好?还是多线程好? 为什么? IO密集型代码(文件处理、网络爬虫等),多线程能够有效提升效率(单线程下有IO操作会进行IO等待,造成不必要的时间浪费,而开启多线程能在线程A等待时,自动切换到线程B,可以不浪费CPU的资源,从而能提升程序执行效率)。在实际的数据采集过程中,既考虑网速和响应的问题,也需要考虑自身机器的硬件情况,来设置多进程或多线程

    Python开发, Python面试题 2019年3月21日
历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!