Python 是 解释型语言,强类型定义语言,动态类型定义语言

编译型语言 & 解释型语言

编译型语言:代码在执行前,需要编译(成机器语言文件,如 .exe 文件);以后再运行时,直接使用编译后的文件(如 .exe 文件)

# 1. Java、C++ 等属于编译型语言

# 2. 一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高

# 3. 与特定平台相关,一般无法移植到其他平台

# 4. 与其他编译型语言相比,Java 程序能够做到一次编译,处处运行,跨平台性非常强
# 是因为对 Java 程序而言,只认识一种操作系统,这个系统就是 JVM,字节码文件(扩展名为 .class 的文件) 就是 JVM 的可执行文件
# 所以 Java 程序并不理会真正执行哪个平台,只要知道如何执行于 JVM 就可以了,至于 JVM 实际上如何与底层平台沟通,那是 JVM 自己的事,
# JVM 实际上相当于 Java 程序的操作系统,JVM 就负责了 Java 程序的各种资源管理 # ========== 关于 Java 总结 ======== #
## 一. JVM 就是 Java 程序的操作系统,JVM 的可执行文件就是 .class 文件
## 二. Java 虚拟机屏蔽了操作系统之间的差异,但是不同的系统使用的虚拟机不同。

解释型语言:代码在执行时,才被解释器一行行动态翻译(成机器语言)和执行;以后再运行时,还需逐行动态翻译和执行

# 1.Python 属于解释型语言

# 2.解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低

# 3.只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植

# 4.所以 Python 会有胶水语言之称

动态类型语言 & 静态类型语言

动态类型语言:在运行时检查类型的语言,即动态类型语言

# Python、PHP 是动态类型语言

# EXAMPLE:
>>> a = 1
>>> type(a)
<type 'int'>
>>> a = "s"
>>> type(a)
<type 'str'>

静态类型语言:在编译时检查类型的语言,即静态类型语言

# Java、C、C++ 是动态类型语言

# EXAMPLE:
Prelude> let a = "123" :: Int <interactive>:2:9:
Couldn't match expected type `Int' with actual type `[Char]'
In the expression: "123" :: Int
In an equation for `a': a = "123" :: Int

强类型语言 & 弱类型语言

强类型语言:如果一门语言很少隐式转换类型,即强类型语言

# Python、Java 是强类型语言

# EXAMPLE:
>>> 1+"2" # 会报 TypeError 错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

弱类型语言:如果一门语言经常隐式转换类型,即弱类型语言

# PHP、JavaScript、Perl 是弱类型语言

# EXAMPLE:
> "1"+2
'12'

Python 是什么语言的更多相关文章

  1. python与其它语言进行比較

    近期python语言貌似比較火, 今天闲来无事,简单的看了下,算是个入门吧.一门语言之所以值得这么多人去学,必然有它的独到之处,以下我们就用python和其它语言做个比較. Pythond VS C# ...

  2. python和C语言混编的几种方式

    Python这些年风头一直很盛,占据了很多领域的位置,Web.大数据.人工智能.运维均有它的身影,甚至图形界面做的也很顺,乃至full-stack这个词语刚出来的时候,似乎就是为了描述它. Pytho ...

  3. 基于Spark环境对比Python和Scala语言利弊

    在数据挖掘中,Python和Scala语言都是极受欢迎的,本文总结两种语言在Spark环境各自特点. 本文翻译自  https://www.dezyre.com/article/Scala-vs-Py ...

  4. 建议3---理解Python与C语言的不同之处

    我们都知道,Python的底层是用C语言实现的,但切忌用C语言的思维和风格来编写Python代码.Python与其他语言有很多不同,以下来进行简单的分析: (1)"缩进"与“{}” ...

  5. 比较分析C++、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?

    一门课的课后题答案,在这里备份一下: 面向对象程序设计语言 –  比较分析C++.Java.Python.R语言的面向对象特征,这些特征如何实现的?有什么相同点? C++ 语言的面向对象特征: 对象模 ...

  6. python是c语言开发的

    python是c语言开发的. #c语言,没有字符串:字符串使用字符组表现   hello —五个字符 字符数组 [’h’,’e’,…’o’]   所以python中如果对一个字符串进行修改,就是在内存 ...

  7. python和C语言互相调用的几种方式

    ? 1 2 3 4 5 6 7 8 9 版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址   http://www.cnblogs.com/Colin-Cai/ ...

  8. python与其他语言的区别

    C 和 Python.Java.C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处 ...

  9. python和C语言的差别

    之前在公司一直做的是C语言的开发,然后做的都是业务方面的东西,做的是sdk,因为最近在找工作,然后今天面试的时候被问到C语言和Python的区别,自己只是简单的说了C是静态语言,在变量在使用前进行声明 ...

  10. python与c语言交互应用实例

    1.python向c语言写数据 1) 先将接收端编译成一个共享链接库gcc/arm-linux-gnueabihf-gcc -o bluetooth_proxy.so -shared -fPIC bl ...

随机推荐

  1. npm i 报错 'match' of undefined 错误以及删除node_modules失败

    简单粗暴的解决办法就是一个字'删', 1.先把node_modules给删了 手动删除的话,window系统经常会有部分删不了,说需要个权限什么的,直接用rimraf 就能解决 先安装npm inst ...

  2. 安装macosx10.13high serria

    本教程所需资源下载链接: 链接:https://pan.baidu.com/s/1wGTezXz6zGvtlwpv6mMoSg 提取码:r6n9 安装VMware workstation 16.0,安 ...

  3. java 不利用第三个变量的情况下将值互换

    package com.zcj.eg001; public class VarChange { public static void main(String[] args) { int a = 10; ...

  4. 2.4V升5V芯片,8uA功耗,低功耗升压电路图

    2.4V升5V,可用于USB拔插充电,也可以用于把两节镍氢电池2.4V升压到5V,的固定输出稳压电压值,同时输出电流可达1A,0.5A等 首先是先说下0.5A的这款的话,是比较低功耗的,8uA左右的输 ...

  5. Sklearn 与 TensorFlow 机器学习实战—一个完整的机器学习项目

    本章中,你会假装作为被一家地产公司刚刚雇佣的数据科学家,完整地学习一个案例项目.下面是主要步骤: 项目概述. 获取数据. 发现并可视化数据,发现规律. 为机器学习算法准备数据. 选择模型,进行训练. ...

  6. file转化为binary对象发送给后台

    具体代码如下: function filechange(e) { var file = $('#filed').get(0).files[0]; var fileSize = file.size, f ...

  7. gRPC Load Balancing

    gRPC Load Balancing 翻译自:https://grpc.io/blog/grpc-load-balancing/ 这是gRPC负载均衡的第一篇,后续会给出基于golang XDS服务 ...

  8. SICP 解题集 — SICP 解题集 https://sicp.readthedocs.io/en/latest/

    SICP 解题集 - SICP 解题集 https://sicp.readthedocs.io/en/latest/

  9. assets和static的区别

    相同点:assets和static两个都是存放静态资源文件.项目中所需要的资源文件图片,字体图标,样式文件等都可以放在这两个文件下,这是相同点不相同点:assets中存放的静态资源文件在项目打包时,也 ...

  10. TCP介绍

    TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. TC ...