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 ...
随机推荐
- poj-DNA排序
描述 现在有一些长度相等的DNA串(只由ACGT四个字母组成),请将它们按照逆序对的数量多少排序. 逆序对指的是字符串A中的两个字符A[i].A[j],具有i < j 且 A[i] > A ...
- LeetCode589. N叉树的前序遍历
题目 法一.递归 1 class Solution { 2 public: 3 vector<int>ans; 4 void dfs(Node* root){ 5 if(root!=NUL ...
- 鸿蒙的远程交互组件应用及微信小程序的远程交互组件应用
注:鸿蒙的远程交互组件应用相对复杂 ,访问网络时,首先要配置网络权限,华为官方文档有问题,在此引用我老师配置的模板,见附件 过程:1.导入鸿蒙的网络请求模块fetch 2.发起对服务器的请求(在这过程 ...
- 【一天一个知识点系列】- Redis Cluser之数据分布
数据分布 简述 分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整体数据的一个子集 分区及限制 分区规则 常见的分区规则 顺序分区 哈希分区 ...
- RocketMq消息 demo
参考 https://blog.csdn.net/asdf08442a/article/details/54882769 整理出来的测试 demo 1.produce 生产者 1 package co ...
- STM32驱动LCD实战
前段时间写了<STM32驱动LCD原理>和<STM32的FSMC外设简介>两篇文章,本文将对STM32驱动LCD进行实战应用.LCD是深圳市拓普微科技开发有限公司的LMT028 ...
- 上海某小公司面试题:synchronized锁原理
synchronized锁是Java面试的过程中比较常考的知识点了,从偏向锁->轻量级锁->重量级锁都可以聊 CAS在这篇没有讲述,因为在上一篇已经写了,有兴趣的同学可以翻翻开 目前已经连 ...
- 02_Python基础
2.1 第一条编程语句 print("Hello, Python!") print("To be, or not to be, it's a question." ...
- 安装OpenDaylight及Openflow插件
1. 安装 Java 和 Maven CentOS7: yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 ma ...
- error Unexpected use of comma operator no-sequences解决过程
error Unexpected use of comma operator no-sequences解决过程 报错内容: ERROR in ./pages/course/_id.vue friend ...