python 面试题集锦(附答案)

1 篇文章 0 订阅
1 篇文章 0 订阅
  1. 谈谈对 Python 和其他语⾔的区别?

答:Python 是⼀⻔语法简洁优美,功能强⼤⽆⽐,应⽤领域⾮常⼴泛,具有强⼤完备的第三⽅库,他是⼀ ⻔强类型的可移植、可扩展,可嵌⼊的解释型编程语⾔,属于动态语⾔。 拿 C 语⾔和 Python ⽐: Python 的第三⽅类库⽐较⻬全并且使⽤简洁,很少代码就能实现⼀些功能, 如果⽤ C 去实现相同的功能可能就⽐较复杂。但是对于速度来说 Python 的运⾏速度相较于 C 就⽐较 慢了。所以有利的同时也有弊端,毕竟我们的学习成本降低了。

  1. 简述解释型和编译型编程语⾔ ?

答:解释型语⾔是在运⾏程序的时候才翻译,每执⾏⼀次,要翻译⼀次,效率较低。 编译型就是直接 编译成机型可以执⾏的,只翻译⼀次,所以效率相对来说较⾼。

  1. Python 的解释器种类以及相关特点?

答:CPython c 语⾔开发的,使⽤最⼴的解释器 IPython 基于 cPython 之上的⼀个交互式计时器,交互⽅式增强功能和 cPython ⼀样 PyPy ⽬标是执⾏效率,采⽤ JIT 技术。对 Python 代码进⾏动态编译,提⾼执⾏效率 JPython 运⾏在 Java 上的解释器,直接把 Python 代码编译成 Java 字节码执⾏ IronPython 运⾏在微软 .NET 平台上的解释器,把 Python 编译成 . NET 的字节码。

  1. Python3 和 Python2 的区别?

答: 这⾥例举 几 条(想起继续更新)

1.print 在 Python3 中是函数必须加括号,Python2 中 printclass2. Python2 中使⽤ xrange,Python3 使⽤ range3. Python2 中默认的字符串类型默认是 ASCII,Python3 中默认的字符串类型是 Unicode。 

4. Python2 中/的结果是整型,Python3 中是浮点类型。 

5. Python2 中声明元类:_metaclass_ = MetaClass,Python3 中声明元类:classnewclass(metaclass=MetaClass)pass6.对于多线程模块threading 中的Thread 命名进行了修改;

7.python2 中的range10)直接生成一个列表;但是在python3中生成的是一个生成器,减少占用内存;
  1. Python3 和 Python2 中 int 和 long 区别?

答:Python2 有 int 和 long 类型。int 类型最⼤值不能超过 sys.maxint,⽽且这个最⼤值是平台相关 的。可以通过在数字的末尾附上⼀个L来定义⻓整型,显然,它⽐ int 类型表示的数字范围更⼤。在 Python3 ⾥,只有⼀种整数类型 int,⼤多数情况下,和 Python2中的⻓整型类似。

  1. xrange 和 range 的区别?

答:xrange 是在 Python2 中的⽤法,Python3 中只有 range xrange ⽤法与 range 完全相同,所不 同的是⽣成的不是⼀个 list 对象,⽽是⼀个⽣成器。

  1. 什么是 PEP8 ?

答:PEP8 通常会听别⼈提到,但是具体的指什么内容呢,简单介绍下。 《Python Enhancement Proposal #8》(8 号 Python 增强提案)⼜叫 PEP8,他针对的 Python 代码格式⽽编订的⻛格指 南。

  1. 了解 Python 之禅么?
    答:通过 import this 语句可以获取其具体的内容。它告诉⼤家如何写出⾼效整洁的代码。

  2. Python 中的注释有⼏种?

答:总体来说分为两种,单⾏注释和多⾏注释。
单⾏注释在⾏⾸是 #。
多⾏注释可以使⽤三个单引号或三个双引号,包括要注释的内容。

  1. 例举你知道 Python 对象的命名规范,例如⽅法或者类等

答:类:总是使⽤⾸字⺟⼤写单词串,如 MyClass。内部类可以使⽤额外的前导下划线。 变量:⼩写,由 下划线连接各个单词。⽅法名类似 常量:常量名所有字⺟⼤写 等 (驼峰法……)

  1. 如何优雅的给⼀个函数加注释?

答:可以使⽤ docstring 配合类型注解

  1. 如何给变量加注释?

答:可以通过变量名:类型的⽅式如下

a: str = "this is string type"
  1. Python 代码缩进中是否⽀持 Tab 键和空格混⽤。

答:不允许 tab 键和空格键混⽤,这种现象在使⽤ sublime 的时候尤为明显。 ⼀般推荐使⽤ 4 个空格替代 tab 键。

  1. 是否可以在⼀句 import 中导⼊多个库?

答:可以是可以,但是不推荐。因为⼀次导⼊多个模块可读性不是很好,所以⼀⾏导⼊⼀个模块会⽐较 好。同样的尽量少⽤ from modulename import *,因为判断某个函数或者属性的来源有些困难,不 ⽅便调试,可读性也降低了。

  1. 在给 Py ⽂件命名的时候需要注意什么?

答:给⽂件命名的时候不要和标准库库的⼀些模块重复,⽐如 abc。 另外要名字要有意义,不建议数 字开头或者中⽂命名。

16.Python 垃圾回收机制?

答:Python 不像 C++,Java 等语⾔⼀样,他们可以不⽤事先声明变量类型⽽直接对变量进⾏赋值。对 Python 语⾔来讲,对象的类型和内存都是在运⾏时确定的。这也是为什么我们称 Python 语⾔为动态类型 的原因。 主要体现在下⾯三个⽅法:
1.引⽤计数机制 2.标记-清除 3.分代回收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员吴同学

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值