Python 是什么语言
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 是什么语言的更多相关文章
- python与其它语言进行比較
近期python语言貌似比較火, 今天闲来无事,简单的看了下,算是个入门吧.一门语言之所以值得这么多人去学,必然有它的独到之处,以下我们就用python和其它语言做个比較. Pythond VS C# ...
- python和C语言混编的几种方式
Python这些年风头一直很盛,占据了很多领域的位置,Web.大数据.人工智能.运维均有它的身影,甚至图形界面做的也很顺,乃至full-stack这个词语刚出来的时候,似乎就是为了描述它. Pytho ...
- 基于Spark环境对比Python和Scala语言利弊
在数据挖掘中,Python和Scala语言都是极受欢迎的,本文总结两种语言在Spark环境各自特点. 本文翻译自 https://www.dezyre.com/article/Scala-vs-Py ...
- 建议3---理解Python与C语言的不同之处
我们都知道,Python的底层是用C语言实现的,但切忌用C语言的思维和风格来编写Python代码.Python与其他语言有很多不同,以下来进行简单的分析: (1)"缩进"与“{}” ...
- 比较分析C++、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?
一门课的课后题答案,在这里备份一下: 面向对象程序设计语言 – 比较分析C++.Java.Python.R语言的面向对象特征,这些特征如何实现的?有什么相同点? C++ 语言的面向对象特征: 对象模 ...
- python是c语言开发的
python是c语言开发的. #c语言,没有字符串:字符串使用字符组表现 hello —五个字符 字符数组 [’h’,’e’,…’o’] 所以python中如果对一个字符串进行修改,就是在内存 ...
- python和C语言互相调用的几种方式
? 1 2 3 4 5 6 7 8 9 版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/ ...
- python与其他语言的区别
C 和 Python.Java.C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处 ...
- python和C语言的差别
之前在公司一直做的是C语言的开发,然后做的都是业务方面的东西,做的是sdk,因为最近在找工作,然后今天面试的时候被问到C语言和Python的区别,自己只是简单的说了C是静态语言,在变量在使用前进行声明 ...
- python与c语言交互应用实例
1.python向c语言写数据 1) 先将接收端编译成一个共享链接库gcc/arm-linux-gnueabihf-gcc -o bluetooth_proxy.so -shared -fPIC bl ...
随机推荐
- npm i 报错 'match' of undefined 错误以及删除node_modules失败
简单粗暴的解决办法就是一个字'删', 1.先把node_modules给删了 手动删除的话,window系统经常会有部分删不了,说需要个权限什么的,直接用rimraf 就能解决 先安装npm inst ...
- 安装macosx10.13high serria
本教程所需资源下载链接: 链接:https://pan.baidu.com/s/1wGTezXz6zGvtlwpv6mMoSg 提取码:r6n9 安装VMware workstation 16.0,安 ...
- java 不利用第三个变量的情况下将值互换
package com.zcj.eg001; public class VarChange { public static void main(String[] args) { int a = 10; ...
- 2.4V升5V芯片,8uA功耗,低功耗升压电路图
2.4V升5V,可用于USB拔插充电,也可以用于把两节镍氢电池2.4V升压到5V,的固定输出稳压电压值,同时输出电流可达1A,0.5A等 首先是先说下0.5A的这款的话,是比较低功耗的,8uA左右的输 ...
- Sklearn 与 TensorFlow 机器学习实战—一个完整的机器学习项目
本章中,你会假装作为被一家地产公司刚刚雇佣的数据科学家,完整地学习一个案例项目.下面是主要步骤: 项目概述. 获取数据. 发现并可视化数据,发现规律. 为机器学习算法准备数据. 选择模型,进行训练. ...
- file转化为binary对象发送给后台
具体代码如下: function filechange(e) { var file = $('#filed').get(0).files[0]; var fileSize = file.size, f ...
- gRPC Load Balancing
gRPC Load Balancing 翻译自:https://grpc.io/blog/grpc-load-balancing/ 这是gRPC负载均衡的第一篇,后续会给出基于golang XDS服务 ...
- SICP 解题集 — SICP 解题集 https://sicp.readthedocs.io/en/latest/
SICP 解题集 - SICP 解题集 https://sicp.readthedocs.io/en/latest/
- assets和static的区别
相同点:assets和static两个都是存放静态资源文件.项目中所需要的资源文件图片,字体图标,样式文件等都可以放在这两个文件下,这是相同点不相同点:assets中存放的静态资源文件在项目打包时,也 ...
- TCP介绍
TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. TC ...