Python问题

1、解释型和编译型编程语言的区别

解释型语言(Interpreted language)是一种编程语言。这种类型的编程语言,会将代码一句一句直接运行,不需要像编译语言一样,经过编译器先编译为机器代码,之后再运行。
这种语言需要利用解释器,在运行期,动态将代码逐句解释为机器代码,或是已经预先编译为机器代码的子程序,之后再运行

编译型语言(Compiled language)是一种以编译器来实现的编程语言。它不像解释语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器代码,再加以运行。
一般而言,用编译语言写成的程序,在运行期的运行速度,通常比用解释型语言写的程序快。因为程序在编译期,已经被预先编译成机器代码,可以直接运行,不用像解释型语言一样,还要多一道直译程序。

2、Python解释器种类以及特点?

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

3、位和字节的关系

位:一个二进制数据0或1,是计算机传输的最小单元.8位组成一个字节.

字节:存储空间的计量单元,1个字节有8个bit.而1024个字节又代表1K

英文占一个字节,中文占两个字节

4、进制转换

5、python递归的最大层数?

当代码中无线循环时,Python会抛出“RuntimeError: maximum recursion depth exceeded” 的错误,解决的方法就是设置最大的循环次数;这样就可以造成无线循环的假象,如下:

import sys

sys.setrecursionlimit(1500)  # set the maximum depth as 1500

  

def recursion(n):

    if(n <= 0):

        return

    print n

    recursion(n - 1)

  

if __name__ == "__main__":

    recursion(1200)

6、字节码和机器码的区别?

机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据

字节码(Bytecode)是一种包含执行程序、由一序列 op 代码/数据对 组成的二进制文件字节码是一种中间码,它比机器码更抽象,需要直译器转译后才能成为机器码的中间代码。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值