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)


相关推荐

  • 自动编码器—Autoencoder[通俗易懂]

    自动编码器—Autoencoder[通俗易懂]自动编码器DeepLearning最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身就是具有层次结构的系统,如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每一层中的权重。自然地,我们就得到了输入I的几种不同表示(每一层代表一种表示),这些表示就是特征。自动编码器就是一种尽可能复现输入信号的神经网络。为了实现这种复现,自动编码器就

  • 变异系数法matlab代码[通俗易懂]

    变异系数法matlab代码[通俗易懂]function[w,ave,score]=byxsf(A)[m,n]=size(A);%m:对象数,n:指标数v=zeros(1,n);w=zeros(1,n);fori=1:nv(i)=std(A(:,i))/mean(A(:,i));endfori=1:nw(i)=v(i)/sum(v);enddisp(‘权重为:’)wscore=w(…

  • 1分钟搞定 OneNote自己账号扩容到15G永久免费空间「建议收藏」

    1分钟搞定 OneNote自己账号扩容到15G永久免费空间「建议收藏」本文是众多使用技巧中其中的一篇,全部使用技巧点击链接查看,或直接查看本专栏其他文章,保证你收获满满我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题,有兴趣的可以去我的主页了解更多计算机学科的精品思维导图整理本文可以转载,但请注明来处,觉得整理的不错的小伙伴可以点赞关注支持一下哦!本文提到的所有软件和工具,可关注公众号一起学计算机点击资源获取获得感觉作者写的不错的,别忘了点赞关注加收藏哦(一键三连)!你的支持会带给我…

  • 多个checkbox实现单选的checkbox

    多个checkbox实现单选的checkbox将多个checkbox添加进一个list中,设置监听,当有一个checkbox被选中时,循环list,将其他checkbox的选中状态设置为false: privateListboxList; privateCheckBoxgroupBox; privateCheckBoxsortBox; privateCheckBoxnearBox; privat

  • pycharm中pyqt5使用方法_python环境变量的配置

    pycharm中pyqt5使用方法_python环境变量的配置环境:window10;pycharm;python;博客讲述如何配置UI设计工具以及ui文件转py文件的uic工具

  • preparedStatement介绍

    preparedStatement介绍PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程。同时PreparedStatement还

发表回复

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

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