python是一种的高级的解释性语言   运行的时候 需要解释

编译语言C C++ 是编译语言   一次编译好了之后就可以 直接运行

Python变量名只是一个名字而已,而该变量所绑定的对象在对象创建初期就确定好了类型的

你永远也不可能再改变其类型,因此Python是动态的、强类型语言

类型检查 发生在运行阶段  类型检查就是查看 “变量” 和它们的 “类型”,然后判断表达式是否合理

而Java是一门静态强类型语言(变量必须声明类型)

类型检查发生在编译阶段

强类型 不管是在编译阶段还是运行阶段,一旦某种类型绑定到变量后,此变量便会持有此类型,并且不能同其他类型在计算表达式时,混合使用

为什么python中不需要声明数据类型?

python的变量存储的是  数值的 一个内存地址的  

数值存储在一个内存地址里面 这种变量的关系 称为 引用

python解释器会为每个出现的对象分配内存

C/C++中的变量的概念是面向内存的  变量的内存地址里面直接存储的是值

所以你要声明一个变量:表明空间大小,存储的格式(整数,浮点),以及一个永久不变的名字指向这个变量。  指向内存的 内存存储的值

python它让编程者,更关注与数据对象的操作,而不是数据存储

这对于从C、C++这种以内存为基础的编程模式转换过来的人来说,可能是一个挑战。但你只要用python,name vs object的思维,很多疑惑都会消除。

Python中一切皆是对象
在Python中,不论是数值(整型、浮点型),字符串,字典,元组对象,还是他们所对应的类型,以及函数,模块等你所能看到的都是对象,他们的祖先是PyObject

hello函数是function类的实例

而Java中至少函数,基本数据类型都不算对象

1、简单易学Python最大的优点之一是具有伪代码的本质,它使我们在开发 Python程序时,更关注与数据对象的操作,而不是数据存储

2、即支持面向对象 也支持面向过程

3、可以移植性 Lnux、Windows 等等

4、解释性 是一种解释性语言 需要解释器来运行不需要编译

5、开源

6、高级语言

7、可扩展

8、丰富的库

9、规范的代码

1、高级语言

我们现在大多数人使用的语言,如C、C++、Python、Java、Matlab、LabVIEW等等,都属于高级语言,相对于低级语言,它更接近于我们平时正常的人思维,其最大的特点是编写容易,代码可读性好。实现同样的功能,使用高级语言耗时更少,程序代码量更短,更容易阅读。其次,高级语言是可移植的,也就是说,仅需稍作修改甚至不用修改,就可将一段代码运行在不同类型的计算机上。

其缺点也很明显,使用高级语言编写的程序运行时,需要先将其翻译成低纸语言计算机才能运行它,在翻译过程中可能程会产生一些多余的部分,运行效率低些。另外,对硬件的可控性相对于低级语言弱些,目标代码量较大。

2、低级语言

泛指机器语言和汇编语言,其中,机器语言是计算机最原始的语言,由0和1的代码构成,计算机在工作的时候只认识机器语言,即0和1的代码;汇编语言,它用人类容易记忆的语言和符号来表示一组0和1的代码,如AND表示加法助记符。

相对于高级语言,其优点是执行速度快,但代码编写难度较大,可读性较差。另外,低级语言编写的程序只能在一种计算机上运行,想要运行在不同的机器上,必须重写。低级语言是早期的一种计算机编程语言,现在只在很少的特殊场景中使用了。

(1)高级语言 包括C ++ C# python java 现在使用的大多是高级语言

(2)低级语言例如 汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言 单片机 等 0 1 表示的语言

高级语言的分类

编译性语言

1、编译型语言

典型的如C、C++、Pascal等语言,都属于编译型语言。它是编译的时候直接编译成机器可以执行或调用的程序,如exe、dll或ocx等类型。如将C语言可直接编译成exe程序,运行时直接运行exe程序就可以了,无需重新编译,所以程序执行效率较高。其执行过程如下所示:

相对于解释型语言,其优点是运行速度快,代码效率高,编译后程序不可以修改,且看不到源码,保密性较好。

缺点是代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行。

由于其执行速度较快,同等条件下对系统的要求较低,因此常用于开发操作系统、大型应用程序、图像处理、数据库开发等场合。

解释性语言

典型的如Java、Python、Matlab等语言,都属于解释型语言。这类程序不需要编译,运行时使用一个专门的解释器去翻译,每一条语句都是执行的时候才翻译,所以这类程序每执行一次就要翻译一次,运行效率较称低。其执行过程如下所示:

相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的操作系统上运行。

缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样操作系统底层操作的目的。

1. 什么是动态语言?
在了解动态语言之前,我们首先了解下 “类型检查”。

类型检查是验证类型约束的过程,编译器或解释器通常在编译阶段或运行阶段做类型检查。

类型检查就是查看 “变量” 和它们的 “类型”,然后判断表达式是否合理。例如,不能拿一个 string 类型变量除以浮点数变量。

类型检查发生在程序运行阶段(run time ),那么它便是“动态类型语言”(dynamically typed languages)。常见的动态语言包括:

Python
JavaScrpit
PHP
类型检查发生在“编译阶段”(compile time)的是“静态类型语言”(statically typed languages)。常见的静态类型语言包括:

C
C++
Java
C#
Scala
2. 什么是强类型语言?
强类型语言是指:不管是在编译阶段还是运行阶段,一旦某种类型绑定到变量后,此变量便会持有此类型,并且不能同其他类型在计算表达式时,混合使用。

例如:

>>> a = 1
>>> a + "a"
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
1
2
3
4
5
意思是不支持 int 变量和 str 变量相加。

常见的强类型语言有:

Python
Java
C#
Scala
与之对应的是弱类型语言,弱类型语言容易与其他类型混合计算。弱类型语言代表 JavaScript。

支持如下操作:

var a = 10
a = a + "hello, world"
"10hello, world"
1
2
3
常见的弱类型语言有:

C
C++
PHP
Javascript

python的特新和语言的理解相关推荐

  1. 学python后还要学什么语言_除了 Python,为什么机器学习还需要一种新的编程语言?...

    原标题:除了 Python,为什么机器学习还需要一种新的编程语言? 编者按:任何足够复杂的机器学习系统都需要一个特定的.非强制要求.优弊共存的编程语言.如今 Python 虽然在人工智能领域应用广泛, ...

  2. 为什么说Python是伟大的入门语言

    文章讲的是为什么说Python是伟大的入门语言,本文作者列举了一些Python特性,并认为Python是最适合入门的编程语言,一起来看一下. 最近发表了三篇关于我的艺术史背景是如何影响我教学的文章.现 ...

  3. python是一种动态语言这意味着_Python如何能成为全球最受欢迎的编程语言?该不该学Python?...

    全文共3304字,预计学习时长10分钟 图源:(Python logo courtesy of https 有一种语言在过去十年受喜爱度一路飙升,成为最受欢迎的一种编程语言,它是谁? 千呼万唤始出来, ...

  4. 幼谈苹果新开发语言:Swift和苹果的用心

    今天是个值得纪念的日子:由于苹果的WWDC大会.苹果的每次WWDC(全球开发人员大会)举行都让我们像打了肾上腺素这么兴奋.幸福.惊叹.震撼.深思. 今年也不例外,最关键的是苹果带来了它的一门新开发语言 ...

  5. Scratch3.0——助力新进程序员理解程序(案例一、画画的蝴蝶)

    Scratch3.0--助力新进程序员理解程序(案例一.画画的蝴蝶) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋友们 ...

  6. python和java和c语言的区别-python和c语言的主要区别总结

    Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言.本萌新也刚开 ...

  7. Scratch3.0——助力新进程序员理解程序(案例八、等差数列计算1)

    Scratch3.0--助力新进程序员理解程序(案例八.等差数列计算1) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋 ...

  8. Scratch3.0——助力新进程序员理解程序(案例九、等差数列2)

    Scratch3.0--助力新进程序员理解程序(案例九.等差数列2) 前言 一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训. 这里我用作让大朋友们 ...

  9. Scratch3.0——助力新进程序员理解程序(一、基础使用与运动)

    Scratch3.0--助力新进程序员理解程序(一.基础使用与运动) 目录 Scratch3.0--助力新进程序员理解程序(一.基础使用与运动) 前言 环境 下载地址 安装说明 1.菜单栏 2.功能栏 ...

最新文章

  1. 干货 | 请收下这份2018学习清单:150个最好的机器学习,NLP和Python教程
  2. 液体冷却将在数据中心重现
  3. spring单元测试
  4. mybatis like的用法
  5. 存储过程里面的语句实在同一个事务中吗_事务降维的几种策略
  6. 十、散列表(Hash Table)
  7. python装饰器两层和三层区别_学习python的第十五天(函数的装饰器,两层装饰器和三层装饰器)...
  8. 优化Hibernate所鼓励的7大措施
  9. idea android 模块,IntelliJ IDEA 12 - 新的Android应用程序模块向导失败,“无法找到模块的资源目录”...
  10. Quest v31 Passthrough API无法透视的问题解决办法
  11. docker 清理容器的一些命令,彻底或选择清理
  12. 苹果Mac 下 Parallels Desktop “无法连接到 Parallels 服务”的解决方法
  13. 从负载均衡到软件负载,lvs是神马东西
  14. UE4-角色摄像机镜头的设置
  15. 程序员转行做什么工作比较好?
  16. Java 8计算两个日期之间的月份
  17. 微信小程序云开发 操作数据库-简单数据的查询
  18. vue实现下拉二级联动_vue实现二级联动效果
  19. switch双属性php,thinkphp-条件判断-SWITCH标签
  20. babylon.js实战教程

热门文章

  1. java魅族面试题_魅族2016Java互联网方向其中一道笔试题--青蛙跳台阶问题
  2. python错误:but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
  3. UVALive 6848 Fishing(dp)
  4. 腾讯云安装部署ElasticSearch【初】
  5. 【数据压缩2】PNG文件格式分析
  6. Flink SQL:Queries(Hints)
  7. 问题 E: 古希腊之争(一)(bfs迷宫裸模板)
  8. 解决iPhone连接Mac反复断开重连
  9. 前端权限-页面访问权
  10. js比较日期 - JavaScript