python简介常考面试题目:python是什么,有什么好处,python2和python3的主要区别

1.什么是Python

  • 解释型、面向对象、动态数据类型、强类型的高级程序设计语言
    • 解释型与编译型
      • 解释型在每次运行时都通过解释器生成机器码,编译型在一次编译后生成可执行文件,之后运行可执行文件无需再次编译。
      • 解释型运行效率低,编译型效率高
      • 由于针对不同平台系统有不同解释器,所以解释型语言跨平台能力很强;编译型语言生成的可执行文件跨平台能力弱,并且语言本身的可移植能力弱
    • 面向对象与面向过程
      • 面向对象更强调易维护、易复用、易扩展,以封装、继承、多态性的特点设计低耦合系统,但由于实例化的开销大,性能低
    • 动态数据类型:无需提前定义变量类型,变量类型由所指向数据类型决定,可以随着指向数据的改变而改变
    • 强类型:不允许数据类型的隐式转换(如弱类型语言中一个int类型的数据与一个float类型的数据相加,最终的结果是一个float类型的数据)
    • 高级语言:机器语言——汇编语言(不独立于机器)——C语言——高级语言(为用户提供了一种既接近与自然语言,又可以使用数学表达式,还相对独立于机器的工作方式。与汇编语言一样,机器也不能直接执行用高级语言编写的程序。)

2.python的特点

  • 解释型:运行前无需编译,跨平台可移植,效率低
  • 动态类型:无需提前指定变量类型
  • 面向对象:组合与继承方式定义类
  • 编写容易,运行速度低于编译语言
  • 用途广泛的胶水语言,可帮助其他语言和组件改善运行状况
  • 不必处理底层细节,可以专注于算法和数据结构的设计

3.python2和python3的主要区别

  • python3不向后兼容的原因:解决一些历史遗留问题(字符编码问题、命名混乱问题、标准库包的放置位置不合理问题、new-style class 和 old-style class 不统一问题)
  • python2.6:平缓过度版本(基本使用2的语法和库,支持部分3的语法和函数)
  • print:用print()函数取代print语句
  • 编码:默认UTF-8编码支持中文(变量命名也可以是中文)代替ASCII编码
  • 除法:整数相除也可以得到浮点数代替向下取整
  • 异常
    • 捕获:从except exc,var变成except exc as var
    • 抛出:只有继承自BaseException的对象才能被抛出
    • 功能:变得更加专一,只有错误发生才能用异常处理语句处理,不能进行普通结构控制了
  • 八进制:去掉01000形式,只保留0o1000形式
  • 使用range完全代替xrange
  • 不等运算符:只保留!=,取消了<>
  • 去除rerp表达式``(使代码看上去更清晰)
  • 整形:去掉了long类型,只保留int整形
  • 输入:去除raw_input函数,只保留input函数
  • 缩进:tab缩进和space缩进可单独使用,但不可以共存
  • 打开文件:方式只保留open,去除了file
  • map和filter从函数变成了类,返回结果从列表变成可迭代对象
  • reduce函数从内置函数挪到了functools模块
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿航626

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值