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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • staruml使用教程[通俗易懂]

    最近因为实验需要,得用到uml类图。找了个教程。mark下,便于以后学习。 http://blog.csdn.net/monkey_d_meng/article/details/5995610

  • IntelliJ IDEA 远程debug调试

    IntelliJ IDEA 远程debug调试远程DEBUG的必要性由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可供选择的手

  • 快速入门:Python简单实例100个(入门完整版)

    快速入门:Python简单实例100个(入门完整版)Python3100例文章目录Python3100例实例001:数字组合实例002:“个税计算”实例003:完全平方数实例004:这天第几天实例005:三数排序实例006:斐波那契

  • git项目怎么用_git详细教程

    git项目怎么用_git详细教程项目开发git的基本使用流程项目开发git仓库使用流程一、新建项目以及首次推送1、git上新建项目2、在项目下创建属于该项目的代码仓库(选择私有仓库)3、完成创建后在自己本地的项目文件夹下使用“gitinit”初始化该文件夹4、“gitadd.”将工程内的所有文件放入暂存区5、”gitcommit-m“xxxxxxx””这次提交的信息,”xxxxxx”提交备注尽可能的写的详细,方面后续查找问题6、“gitremoteaddoriginxxxxxxxxxxxxx

  • pycharm2021 5.2激活码破解方法

    pycharm2021 5.2激活码破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 国外免费高速php空间,0fees – 300M国外高速免费PHP空间

    国外免费高速php空间,0fees – 300M国外高速免费PHP空间0fees是美国的免费空间,速度不错,提供300M空间,每月10G流量限制,ftp、web方式上传管理文件,支持PHP5,提供3个MySQL数据库,无限个支持POP3的电子邮箱,可以添加6个二级域名,绑定6个域名,可建6个不同网站,cPanel管理面板。网址:http://www.0fees.net点“OrderNow!”申请。申请很简单,填写用户名、密码、电子邮箱、网站类型、网站语言、验证码,…

发表回复

您的电子邮箱地址不会被公开。

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