最新python面试题附送答案

美女程序员鼓励师

 

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

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面试题附送答案 的全部内容, 来源链接: utcz.com/z/542941.html

回到顶部