语言相关

一.语言相关

1.1 解释型语言和编译型语言

解释型语言: Python, JavaScript, PHP, Shell, MATLAB等
编译型语言: C, C++, Golang, Pascal(Delphi)等

1.2 解释型语言和编译型语言的区别

解释型语言: 
1) 解释型语言不对源代码进行编译, 通过解释器一边执行一边转换, 需要哪些源代码就转换哪些源代码, 不生成可执行程序.
2) 这种语言称为**解释型语言**, 使用的转换工具称为**解释器**.
3) 但是过于依赖解释器, 解释器本身就是一个虚拟环境, 运行前要申请内存, 开辟空间启动解释器, 过于消耗内存, 影响效率

编译型语言: 
1) 编译型语言写完后需要进行打包和编译, 这会导致编写代码的过程见效慢, 但是打包之后就省事了, 以后可以直接使用,. 也就是说编译后的使用非常方便, 不像解释型语言, 虽然代码见效快, 但是执行起来慢悠悠.
2) 编译语言要求必须提前将所有源代码一次性转换为**二进制指令**, 生成一个可执行程序. 比如像C这样的编程语言就是**编译型语言**, 它所使用的工具就是**编译器**. 也就是经常在Linux下安装时需要的GCC或者G++

1.3 解释型语言和编译型都有什么特点

解释型语言特点:
	写代码效率高, 调BUG比较轻松, 跨平台性好, 但是执行效率不行
编译型语言特点:
	执行效率高, 但是调BUG麻烦

1.4 什么是二进制指令

二进制指令也就是机器码, 是CPU能够识别的硬件层面的代码, 简陋的硬件(古老的单击片)只能使用几十个指令, 强大的硬件(pc, 智能手机)能使用成百上千的指令

1.5 P2和P3的区别

  • P2: print为语句 P3: print为方法
  • P2: 默认为Ascii编码 P3:默认为Unicode(utf-8)
  • P2: 除法结果为整数 P3: 除法结果为浮点数
  • P2: 默认四个字节表示一个字符 P3: 默认两个字节为一个字符
  • P2: map方法返回List P3: map方法返回iteration

1.6 列举几个解释器种类及特点

  • CPython: C语言开发的, 是使用最广的解释器, 具有GIL全局解释锁
  • IPython: 基于CPython的交互式解释器, 功能与CPython无异
  • Jython: 是运行在Java平台上的Python解释器, 可以把Python的代码编译成Java字节码执行, 但CPython没有垃圾回收机制
  • IronPython: IronPython和JPython类似, 只不过IronPython是运行在微软.Net平台上的Python解释器, 可以直接把Python代码编译成.Net字节码
  • PyPy: 另一个Python解释器, 目标是执行效率采用JIT技术, 对Python代码进行动态编译, 提高执行效率

1.7 列举几个PEP8规范

  • RFC(Request For Comments) : 专门用来定义网络请求的标准文档, 是一系列以编号排定的文件, 文件收集了有关互联网相关信息.
  • PEP8
    • 每一级缩进使用四个空格, 每行最大字符限制为97个, 除了长导包语句和url地址
    • 导入通常再分开的行, 不推荐同行导入多个模块
    • 不能使用单字符(IIO)作为变量名, 因为太像1和0
    • 类的首字母大写, 函数的首字母小写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值