前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 基础认识,弱类型,解释执行

python 基础认识,弱类型,解释执行

作者头像
六小登登
发布2019-08-01 11:27:42
7300
发布2019-08-01 11:27:42
举报
文章被收录于专栏:Modeng的专栏

我们从第一个「hello world」开始。首先我们先进入电脑的控制台输入 python3 进入 python 解释器模式。

例如我以 Mac 为例 在 iTerm 终端输入 python3 会进入解释器模式。

代码语言:javascript
复制
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

此时我们输入 ```print(‘hello world’)````就可以打印出 「hello world」了。

我们的第一个 python 程序就这么愉快的完成了。下面我们就开始来认识 python。

弱类型

首先 python 是弱类型语言,相对于强类型语言,它不需要声明变量的类型。甚至粗暴到连声明关键字都省略了。

了解 JavaScript 的同学都知道,它也是弱类型语言,声明变量时也不需要指定类型,但好歹我们还需要使用声明关键词的(虽然可以省去不用,但是非常不建议)。

而python 不管这些,老夫就是直接开干,别跟我扯那些没有用的。难怪大家都说「人生苦短,我用python」。光看变量声明,就让我感受到了。期待更加深入的学习。

代码语言:javascript
复制
 int age = 0; // java 声明一个整数型的变量
 var age = 0; //js 声明一个变量 age 不指定数据类型。
 age = 0; // python 直接声明

解释执行

第二个特点是它属于「解释执行」类型语言。就如开头我们所说会进入 python 解释器模式,而这个解释器就是用来解释 python 语言的。

弄清楚之前,先简单了解下什么是「编译执行」与「解释执行」,以下都是大白话介绍可更好理解,如果不觉得严谨的可查阅相关资料。

首先计算机只认识二进制这个大家都知道。所以编写的程序都要先转成二进制代码才可以运行。否则计算机不认识啥都百搭。

但计算机认识的东西,人类看起来就很痛苦而且写起来简直生不如死。怎么办呢?这就是人类的聪明之处了,我先写认识的,然后通过一种方式在转成机器认识的不就完了吗。

而在转换的过程中有两种实现方式:第一种就是:先编译好在执行。第二种就是:执行的过程中再编译,即:边执行边编译。

所以先编译好再执行的对应的就是「编译执行」,边执行边编译的就是「解释执行」。

例如 C、C++:这类语言就属于「编译执行」,它们的优点在于只编译一次,执行速度快。而缺点是不能夸平台。

而像 Python、JavaScript 这类语言属于「解释执行」,它们的优点在于跨平台,不管在window 还是其他平台都可以执行。但缺点就是每次执行都会编译所以速度慢。

python 代码的执行步骤大概是:

开头说 python 的解释器,我们写的每一行 python 代码都是由它负责,解释器由一个编译器和一个虚拟机构成,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。 python 代码在运行前每个 .py 文件将被换转成 .pyc 文件,.pyc 就是一种字节码文件。

上下执行

我们人类在读一篇文章的时候会从左至右,从上到下的顺序进行阅读。而机器也是如此,它在阅读代码的时候也是「从上而下」进行阅读。

所以它的代码执行顺序就是「上下执行」,第一行没有执行完,就不会执行第二行。但如果只有「上下执行」好像并不能满足我们所有的需求。

继续拿看书来说:

比如你在书中看到一段看不懂的话,你会怎么做?我会去多看几遍,直到看懂为止。

如果有很多我不想看的内容怎么办?我会把不想看的内容直接跳过去,选择我喜欢看的内容。

那程序是如何做到这点的呢?下个章节我们来详细程序该如何执行。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年07月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 弱类型
  • 解释执行
  • 上下执行
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档