python面试题总结(1)--语言特性

1. 谈谈对 Python 和其他语言的区别

答:
Python 是一门强类型可移植、可扩展、可嵌入解释型编程语言,属于动态语言;其语法简洁优美、功能强大无比、应用领域非常广泛且具有强大完备的第三方库。
(注:语言有无类型,弱类型和强类型三种。强类型指的是程序中表达的任何对象所从属的类型都必须能在编译时刻确定。常见的强类型语言有C++、Java、Apex和Python等。)

拿 C 语言和 Python 比: Python 的第三方类库比较齐全并且使用简洁,很少代码就能实现一些功能,如果用 C 去实现相同的功能可能就比较复杂。

但是对于速度来说 Python 的运行速度相较于 C 就比较慢了。所以有利的同时也有弊端,毕竟我们的学习成本降低了。

2. 简述解释型和编译型编程语言

答:

编译型语言是指使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码,一次性“翻译”成可被该平台硬件执行的机器语言(包括机器指令和操作数),并包装成该平台所能识别的可执行程序的格式,这个转换过程称为编译(Compile)。
编译生成的可执行程序可以脱离开发环境,在特定的平台上独立运行

解释型语言是指使用专门的解释器,将源程序逐行解释成特定平台的机器代码并立即执行的语言。
解释型语言通常不会进行整体性的编译和链接处理,解释型语言相当于把编译型语言中的编译和解释过程混合到一起同时完成。
可以这样认为,每次执行解释型语言的程序都需要进行一次编译,因此解释型语言的程序运行效率通常较低,而且不能脱离解释器独立运行。但解释型语言有一个优势,就是跨平台比较容易,只需提供特定平台的解释器即可,每个特定平台上的解释器都负责将源程序解释成特定平台的机器指令。
也就是说,解释型语言可以方便地实现源程序级的移植,但这是以牺牲程序执行效率为代价的。

编译型语言和解释型语言的对比如图所示
在这里插入图片描述
不难理解,编译型语言和解释型语言的区别在于,编译是对高级语言程序进行一次性翻译,这样的好处是,一旦源程序被彻底翻译,它就可以重复运行,且今后都不再需要编译器和源代码;而如果使用解释器,则高级语言程序每次运行,都需要借助源程序和解释器,其最大的好处就是,程序有很好的可移植性。

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

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

4. Python3 和 Python2 的区别?

答: 这里例举 5 条

print 在 Python3 中是函数,必须加括号;Python2 中 print 为 class。
Python2 中使用 xrange,Python3 使用 range。
Python2 中默认的字符串类型是 ASCII,Python3 中默认的字符串类型是 Unicode。
Python2 中/的结果是整型,Python3 中是浮点类型。
Python2 中声明元类:metaclass = MetaClass, Python3 中声明元类:class newclass(metaclass=MetaClass):pass。

5. Python3 和 Python2 中 int 和 long 区别?

答:
Python2 有 int 和 long 类型。int 类型最大值不能超过 sys.maxint,而且这个最大值是平台相关的。可以通过在数字的末尾附上一个L来定义长整型,显然,它比 int 类型表示的数字范围更大。

在 Python3 里,只有一种整数类型 int,大多数情况下,表示为长整型,没有 python2 中的 Long。和 Python2中的长整型类似。

6. xrange 和 range 的区别?

答:
首先得说明一下,只有在python2中才有xrange和range,python3中没有xrange,并且python3中的range和python2中的range有 本质的区别。所以这儿说的range和xrange的区别是只针对python2的。

在py2中,range得到的是一个列表,即

x = range(0, 5)
print(type(x))  # 打印x的类型,结果是list
print(x) # 结果是[0,1,2,3,4]

xrange得到的是一个生成器对象, 即

x = xrange(0, 5)
print(type(x))  # 输出类型,结果为一个生成对象
print(x)  # 输出x, 结果为xrange(0,5)

那么,python3中为什么没有了range了呢(额,这个怎么描述呢,是有range,但是这个range其实是py2中的xrange,而不是range),因为使用生成器可以节约内存。比如现在有个代码是for i in range(0, 10000),如果还是使用py2中的range的话,那么就会得到一个0到9999的一个列表,这个将会占用很大的空间,但是使用生成器的话,不需要一上来就开辟一块很大的内存空间,会节省很大的资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频网站盈利模式与营销策划

在与数十家视频网站进行信息网络传播权交易过程中,在研究视频网站内容和盈利模式基础上,综合自己在传统媒体和新媒体领域十几年的策划和营销经验,我发现:视频网站的盈利模式其实早就形成多种体系,但是盈利之路艰难&…

USACO 06JAN 牛的舞会 洛谷2863

题目描述 The N (2 < N < 10,000) cows are so excited: it’s prom night! They are dressed in their finest gowns, complete with corsages and new shoes. They know that tonight they will each try to perform the Round Dance. Only cows can perform the Round…

[UWP]了解模板化控件(4):TemplatePart

原文:[UWP]了解模板化控件(4)&#xff1a;TemplatePart1. TemplatePart TemplatePart&#xff08;部件&#xff09;是指ControlTemplate中的命名元素。控件逻辑预期这些部分存在于ControlTemplate中&#xff0c;并且使用protected DependencyObject GetTemplateChild(String ch…

动态重定位的增加的紧凑功能

动态重定位增加了紧凑的功能&#xff0c;在动态的分区分配时&#xff0c;可以对外部碎片进行紧凑来为没有内存空间进行存储的进程进行分配。

java 重载 equals_实现Student类的equals重载函数

[java]代码库//测试类public class StudentDemo {public static void main(String[] args) {Student s1 new Student("000","张三",18);Student s2 new Student("000","张三",18);//随便改boolean flag s1.equals(s2);System.out.p…

python面试题总结(2)--编码规范

1. 什么是 PEP8? 答&#xff1a;PEP8 --《Python Enhancement Proposal #8》&#xff08;8 号 Python 增强提案&#xff09;&#xff0c;他针对的 Python 代码格式而编订的风格指南。 2. 了解 Python 之禅么&#xff1f; 答&#xff1a;通过 import this 语句可以获取其具体…

【Unity热更新】学会AssetsBundle打包、加载、卸载

本教程详细讲解什么是AssetBundle压缩包机制!然后构建 AssetBundle、加载 AssetBundle 以及卸载 AssetBundle 的简要教程。这一个流程就是热更新! AssetBundles 简介 1.什么是AssetBundles? AssetBundles是Unity中一种用于打包和存储资源(如模型、纹理、声音等)的文件格…

Confluence 6 访问你的宏正文(body)

请查看 Writing User Macros 页面获得有关如何写用户宏的介绍。 这个页面介绍你可以在用户宏中可以使用的的代码信息。 访问你的宏正文&#xff08;body&#xff09; 在你用户宏模板中的 $body 对象可以访问访问到传递到你宏正文中的内容。 当你的宏有指定的正文的时候&#xf…

hibernate主键生成策略

1、hibernate 要求实体类里面有一个属性作为唯一值&#xff0c;对应的表字段是主键&#xff0c;主键可以不同的生成策略 2、hibernate 主键生成策略有很多的值 <generator class"native"></generator> 3、在class属性里面有很多值 &#xff08;1&#xf…

jboss mysql cluster_jboss配置mysql数据库连接池

jboss配置mysql数据库连接池下面YJBYS小编为大家整理了关于jboss配置mysql数据库连接池的文章&#xff0c;希望对你有所帮助。更多Java认证考试信息&#xff0c;尽在应届毕业生培训网!1&#xff1a;配置&#xff1a;JDK 1.5JBoss4.0.4Mysql5.0Myeclipse 4.12&#xff1a;建立数…

P2P-挑战和机遇

近年来互联网上对等连接P2P应用发展迅速&#xff0c;MP3和视频文件共享下载的P2P流已经成为宽带用户流量的主体。基于P2P的即时通信和互联网电话&#xff08;如Skype&#xff09;发展迅速&#xff0c;对等广播P2P流媒体等正在兴起。P2P协同计算和网格方兴未艾。P2P 应用支持网络…

python面试题总结(3)-- 数据类型(字符串)

1. 列举 Python 中的基本数据类型&#xff1f; 答&#xff1a; Python3 中有六个标准的数据类型&#xff1a;数字&#xff08;Number&#xff09;、字符串&#xff08;String&#xff09;、列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;、集合&#…

网页中JS函数自动执行常用三种方法

&#xff08;1&#xff09;最简单的调用方式&#xff0c;直接写到html的body标签里面&#xff1a; <body οnlοad"myFunction()"></body> <script type"text/javascript"> function myFunction(){ …

Jetty - Container源码分析

1. 描述 Container提供管理bean的能力。 基于Jetty-9.4.8.v20171121。 1.1 API public interface Container {// 增加一个bean&#xff0c;如果bean是一个Container.Listener则隐含调用addEventListener(Container.Listener)方法// Container.Listener只关心两个事件&#xff1…

Ubuntu中安装FastDFS

1 安装fastdfs依赖包 解压缩libfastcommon-master.zip进入到libfastcommon-master的目录中执行 ./make.sh执行 sudo ./make.sh install 2 安装fastdfs 解压缩fastdfs-master.zip进入到 fastdfs-master目录中执行 ./make.sh执行 sudo ./make.sh install 3 配置跟踪服务器tra…

python基本语句及其意思_Python语法基础(1),一

一、Python的对象模型对象是Python语言中最基本的概率&#xff0c;在Python中处理的一切都是对象。Python中许多内置对象可提供编程者使用&#xff0c;内置对象可直接使用&#xff0c;如数字、字符串、列表 、del等&#xff1b;非内置对象需要导入模块才能使用&#xff0c;如正…

什么是隧道技术

隧道技术是一种通过互联网络基础设施在网络之间传递数据的方式。使用隧道传递的数据可以是不同协议的数据帧或包&#xff0c;隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送&#xff0c;被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由&#xff0c;…

详解网络数字电视的实现方法与关键技术

1、IPTV的实现方法 宽带网络数字电视&#xff0c;又称IPTV或BTV&#xff0c;即交互式网络电视&#xff0c;是一种利用宽带互联网、多媒体等多种技术于一体&#xff0c;向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。它能够很好地适应当今网络飞速发展的趋势&…

有状态的bean和无状态的bean的区别

有状态会话bean &#xff1a;每个用户有自己特有的一个实例&#xff0c;在用户的生存期内&#xff0c;bean保持了用户的信息&#xff0c;即“有状态”&#xff1b;一旦用户灭亡&#xff08;调用结束或实例结束&#xff09;&#xff0c;bean的生命期也告结束。即每个用户最初都会…