python 面试题集锦(附答案)

python 面试题集锦(附答案)

  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.分代回收

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115135.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 反射式dll注入「建议收藏」

    反射式dll注入「建议收藏」前不久实现了经典dll注入exe,实现注入到用户层面进程,比如notepad.exe和wps.exe。(像金山毒霸kxetray.exe有自我保护机制也注入不进去)。由于对会话隔离注入不太了解,怕搞坏主机,没有再去实现注入到系统进程中。最近在网上看到dll反射注入,想把学习总结的笔记给大家分享一下。首先什么是反射式注入?它和传统经典注入有什么区别呢?我这里作个比喻。经典式:在别人的内存里调用…

    2022年5月17日
    104
  • 产品配件类目税目分类_HS编码知识:汽车零部件怎么归类?[通俗易懂]

    产品配件类目税目分类_HS编码知识:汽车零部件怎么归类?[通俗易懂]本文以“汽车零部件”为例,介绍了如何对汽车零部件进行分类,找到合适的HS编码。据统计,每辆车约有一万个零件,涉及200多个税号,分布在进出口税号的不同章节。因此,汽车零部件的分类一直是一个大争议。可以说,汽车零部件的分类比较复杂。一、汽车零部件分类的规则与思路虽然“进出口关税”专门设置了87.08的汽车零部件税项,但实际工作中有很多汽车零部件不能归入87.08,如汽车发动机零件,共计500多个,不…

    2022年10月2日
    1
  • 隐私政策_隐私政策一定要加同意吗

    隐私政策_隐私政策一定要加同意吗隐私政策

    2022年4月20日
    78
  • Winform开发常用控件之Checkbox和CheckedListBox

    Winform开发常用控件之Checkbox和CheckedListBoxWinform的开发基本都是基于控件事件的,也就是事件驱动型的。多选框的放置和值的获取有很多种,这里介绍几个简单常用的方法1、直接放置Checkbox,并获取Checkbox的值上图做法也非常简单,就

    2022年7月2日
    25
  • 【软件工程】——详细设计说明书「建议收藏」

    【软件工程】——详细设计说明书「建议收藏」1引言1.1编写目的该文档在概要设计的基础上,进一步的细化系统结构,展示了软件结构的图标,物理设计、数据结构设计、及算法设计、详细的介绍了系统各个模块是如何实现的,包括涉及到的算法,逻辑流程等。预期的读者:程序员1.2背景a. 待开发软件系统的名称:机房收费系统b. 项目的任务提出者:米新江教授c. 项目的开发者:齐智d. 项目的用户:廊坊师范学院全体在职员工及学生e. 运行该软…

    2022年6月12日
    32
  • 【Unity】入门级Unity安装教程

    【Unity】入门级Unity安装教程【Unity】入门级Unity安装教程这是一篇面向对unity感兴趣,想要学习unity,但是还处于入门阶段的小伙伴的超详细unity安装教程。因为是面向入门的小伙伴,所以文章写的有点长,还配有许多图片,这样才能更详细的介绍安装流程。但是不必担心太长看起来太费劲,各位只要照着教程一步步来就可以了。跟着这章博文走,最终你的电脑一定能张开双臂,成功拥抱unity。那么,现在进入正题吧!1.进入官网unity的官网链接:unity.cn看清楚咯,是unity.cn不是.com什么的。官网界面如下然后一

    2022年6月27日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号