• 技术文章 >头条

    最新python面试题附送答案

    十一十一2021-01-27 10:57:52原创5252

    我们学习的最主要目的,还是为了找一个好的工作,人生的转折点,就是有一个好的机遇,顺利走完下一步,大家在一起学习编程语言,基本上对知识的掌握都差不多,我们不能保证面试的时候,自己所学的知识点都能用的上,但是必考题掌握了解,也能基本达到标准,下面一起来看下哪些必考内容吧。

    1、== 和 is 的区别?

    == 比较的是值,is比较的是值和引用(对象内存空间)

    比如:

    >>> a = 123>>> b = 123>>> a == bTrue>>> a is bTrue>>> id(a)9670848>>> id(b)9670848

    只要是不可变类型变量(数值型,字符串),只要值一样,对象内存空间也一样。

    可变类型变量的is 和 ==

    >>> c = [1,2,3]>>> d = [1,2,3]>>> c == dTrue>>> c is bFalse>>> id(c)140470599331072>>> id(d)
    140470599331200

    对于可变类型,每一个变量的内存空间都是不一样的。

    2、Python中单下划线_foo与双下划线__foo与__foo__的成员理解

    1、 _foo 不能直接用于’from module import *’

    2、__foo解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名

    3、__foo__代表python里特殊方法专用的标识

    3、__new__和__init__的区别?

    1、__new__是一个静态方法,而__init__是一个实例方法

    2、__new__方法会返回一个创建的实例,而__init__什么都不返回

    3、只有在__new__返回一个cls的实例时,后面的__init__才能被调用

    4、当创建一个新实例时调用__new__,初始化一个实例时用__init__

    4、sinstance和issubclass的作用?

    1、sinstance(object,classinfo),用于判断object是否是classinfo的一个实例,或者object是否是classinfo类的子类的一个实例,如果是返回True.

    2、issubclass(class,classinfo),用于判断class是否是classinfo类的子类,如果是返回True.

    5、以下Python2和Python3的说法正确的有(ABC)

    A、Python3使用 print 必须要以小括号包裹打印内容

    B、Python2中使用ascii编码,Python3中使用utf-8编码

    C、Python2中是raw_input()函数,Python3中是input()函数

    D、Python2中range(1,10)返回列表,Python3中返回迭代器

    答案选D:python2中返回是列表,在python3中返回是range类型,并不是迭代器。

    6、如何理解 python的GIL?

    GIL 的全程为 Global Interpreter Lock ,意即全局解释器锁。在 Python 语言的主流实现 CPython 中,GIL 是一个货真价实的全局线程锁,在解释器解释执行任何 Python 代码时,都需要先获得这把锁才行,在遇到 I/O 操作时会释放这把锁。如果是纯计算的程序,没有 I/O 操作,解释器会每隔 100 次操作就释放这把锁,让别的线程有机会执行,这个次数可以通过sys.setcheckinterval。如果不释放这把锁其他的程序会处于等待状态。

    7、简述with方法打开处理文件帮我们做了什么?

    打开文件在进行读写操作时可能会出现一些异常状况,如果按照常规的file.open写法,我们需要try,except,finally,做异常判断,并且文件最终不管遇到什么情况,都要执行finally的file.close()关闭文件with方法帮我们实现了finally中file.close()操作。

    如下:

    上述就是python基本的考题内容了,大家可以多浏览掌握学习,对我们找工作都是有一定帮助的!

    专题推荐:python面试题
    上一篇:php命名空间的基本介绍 下一篇:python如何安装basemap?

    相关文章推荐

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网