刚开始学python,对脚本语言的一些理解

脚本语言和编程语言的区别:

        简单来说,编程语言需要编译再执行,脚本语言不需要编译,会直接执行。所以说,脚本语言,即使错了,也可以执行,因为一行一行执行,直到错的那一行才开始报错。但是编程语言如果错了的话,编译阶段会显示错误,没办法执行。

        编译的话,简单来说就是把源程序翻译成01这种二进制码,执行速度会更快,但是换一台机器,可能就没有办法执行了,因为编译器对机器的依赖性很高。而脚本语言是通过解释器,一行一行读代码,一行一行执行的。

        那么脚本语言的的解释器是怎么工作的呢?难道就不需要翻译成01这种二进制码吗?对于不同的脚本语言,解释器工作的原理是不一样的,具体如下图所示:

        那么对于python这种脚本语言,它的解释器是怎么工作的呢?具体如下图所示:

        它的解释器可以由不同的语言来书写,但是一般是由c++来写的。

        所以,其实我们说脚本语言是不需要编译的,严格上来说是不准确的。因为解释器有可能实现原理也是编译,只不过编译结果可能是除了01之外的其他字节码。

        脚本语言的优越性,主要是指它的灵活性“不是那么严谨“。不管输入的是啥,它可以根据需要来改变输入的类型。就比如说exec和eval两个函数,就是根据需要将输入的字符串类型,改变成其他类型,不管输入的是啥都能当语句执行。相对来说:编程语言就会很严格,没有那么灵活了,输入的字符串儿可能就没有办法识别了。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值