【python面试170题】1. 语言特性

【面试题目来着微信公众号:GitChat】

语言特性

  1. 谈谈对 Python 和其他语言的区别
    【语言特点】简洁优雅,有很多第三方库。
    【语言类型】解释型语言。
    【缺点】运行速度相对较慢,解决方法:可以嵌入c、c++的代码。
    【和java的对比】python是弱类型语言,java是强类型语言。
    【和c++的对比】python第三方库丰富,可以用少量代码实现功能,速度相对较慢,跨平台性好。
    【总结】Python是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库的一门强类型的可移植,可扩展,可嵌入的解释型编程语言。
  2. 简述解释型和编译型编程语言
    【什么是编译】把代码翻译成机器能读懂的机械语言。
    【解释型语言】一边执行,一边编译,所以速度较慢,但跨平台(不依赖于操作系统,不依赖于硬件设备),兼容性好。
    【编译型语言】先编译,后执行。第一次编译,之后执行不需要编译,所以速度快。
    【python为什么是强类型语言】如果语言经常隐式地转换变量的类型,那这个语言就是弱类型语言,如果很少会这样做,那就是强类型语言。在这里插入图片描述
  3. Python 的解释器种类以及相关特点?
    【解释器种类】CPython,IPython,PyPy,Jython,IronPython
    【CPython】官方版本解释器,c语言开发,应用广泛。
    【IPython】是基于CPython之上的一个交互式解释器。交互上有所加强。
    【PyPy】动态编译,显著提高执行速度。
    【Jython】是运行在Java平台上的Python解释器,把python代码编译成java字节码执行。
    【IronPython】是运行在微软.Net平台上的Python解释器,把Python代码编译成.Net的字节码。
  4. 说说你知道的Python3 和 Python2 之间的区别?
    【print】print语句没有了,取而代之的是print()函数。
    【unicode】Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。
    现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。
    【除法运算】python3除法如果除数和被除数都是整数,也会得到浮点数。
    【异常处理】
    1. python3中使用as
    2. 在2.x时代,所有类型的对象都是可以被直接抛出的,在3.x时代,只有继承自BaseException的对象才可以被抛出。
    3. 2.x raise语句使用逗号将抛出对象类型和参数分开,3.x取消了这种奇葩的写法,直接调用构造函数抛出对象即可。
    【xrange 和 range】
    1. python2中,见第6条。
    2. python3中,取消了xrange()。
    【数据类型】
    1. Py3.X去除了long类型,现在只有一种整型int,但它的行为就像2.X版本的long。
    2. 新增了bytes类型,str对象和bytes对象可以使用.encode() (str -> bytes) or .decode() (bytes -> str)方法相互转化。
    3. 去掉了iterkeys()函数。同时去掉 dict.has_key(),可以用in替代。
  5. Python3 和 Python2 中 int 和 long 区别?
    【python2】int是整型,long是长整型。整型根据处理器,可能是32位或64位。长整型没有限制。
    【python3】只有整型int,取消了长整型long。
  6. xrange 和 range 的区别?
    【python2和python3的区别】python3中取消了xrange()
    【python2中的xrange】生成的是一个数组。
    【python2中的range】生成的是一个生成器。
    【python3中的range】生成一个range类型的数据,类似列表的数组,可迭代,可以切片。
    要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。

面试题目来着微信公众号:GitChat
Python 爬虫面试题 170 道
以上答案皆为鄙人回答,如有问题,敬请诸君指出.
【python面试170题】系列
1. 语言特性
2. 编码规范
3. 数据类型-字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值