Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

本文详细解析了编译型和解释型语言的区别,包括它们的运行原理、效率对比及应用场景。解释型语言如Python、JavaScript,在运行时将源代码转化为中间代码,再由解释器执行。编译型语言如C、Java,则在运行前将源代码编译为机器语言,直接执行编译结果。此外,还介绍了动态数据类型和静态数据类型的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

##解释型/编译型
解释型相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。比如Python/JavaScript / Perl /Shell等都是解释型语言。
解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。
传统来讲效率低于编译型语言,但随着解释器的优化,非必然。

编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件)

【应用】
编译型:操作系统、大型应用程序、数据库系统;
解释型:网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言;

##面向对象

##动态数据类型
特点:
静态类型语言中,变量具有类型,而且在编译期确定,具有某一类型的变量只能持有相同类型的数据。例如,C是静态类型语言,一个int型变量只能作为int来处理。
动态类型语言中,变量没有类型,只有数据有类型,变量可以持有任意类型的数据。Python是动态语言,变量可以持有整数、字符串、列表、闭包等任何数据。
https://www.cnblogs.com/aquastone/p/static_vs_dynamic_typed.html

【静态数据类型】
在编译时就知道变量的类型
知道变量中有哪些属性和方法
在编译的时候就可以访问这些属性和方法
通过静态数据类型定义变量,如果访问了不属于静态数据类型的属性和方法,那么编译器就会报错
【动态数据类型】
在编译的时候编译器不知道数据的真实类型,只有在运行的时候才知道数据的真实类型
如果通过动态数据类型定义的变量,如果访问了不属于动态数据类型的属性和方法,编译器不会报错

动态语言弊端:由于动态数据类型可以调用任一方法,所以有可能调用到不属于自己的方法,又不会报错,会导致运行时的错误
https://blog.youkuaiyun.com/qq_38265784/article/details/79232209

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值