关于python命令在editor里编写与在interpreter里的编写的不同之处

  其实用这个标题,我心里还是有点胆怯的。作为一个python入门的小白,不,编程入门的小白,我还不太确定我对editor和interpreter的理解是否到位。

  在我目前的理解中,editor就是将所有命令一次性输入,保存成 .py 文件,之后可以在interpreter里运行,decode 成机器语言,让计算机识别你的命令。

  而我们同样也可以在interpreter里逐行输入命令,但每次输完一行命令后,计算机就会马上执行该命令。这就导致在interpreter里写code不如editor方便。

  但本文就是想比较一下同样的命令,分别在editor里编写后运行与在interpreter直接编写运行的不同点。

  我是把《learn python the hard way》作为我的第一本入门书的,以看完四分之三,到最后越来越难,实在看不下去了,总体感觉这本书只是给了你一个python语法的框架,但很多细节的东西都没告诉你,很多知识都需要你自己上网去做了解补充,不过这正是作者通过这本书想让你学习的,其实这也正是学习编程的要领,书里每一节都有 study drills ,你需要自己摸索一些函数的用法,所以我认为这本书更多的算是一本编程入门书,而不是python入门书。

  好了,言归正传,editor选用Notepad++,interpreter选用powershell,也就是《learn python the hard way》这本书里推荐使用的。

example 1

	powershell

	>>> a = 2
>>> b = 3
>>> a - b
-1

	Notepad++

	1>   a = 2
2> b = 3
3> a - b #该语句在powershell运行后不显示任何内容

example 2

	powershell

	>>> def test(a):
... return a
...
>>> test(2)
2

	Notepad++

	1>	def test(a):
2> return a
3>
4> test(2) #该语句在powershell运行后不显示任何内容

小结:

在Notepad++里只有输入print才会显示内容。

在powershell里赋值语句和函数定义都不会显示内容,而一旦进行操作运算(操作符运算或者调用函数)即使不使用print也能显示操作后的结果

example 3

	powershell

	>>>t = [1, 2, 3, 4]
>>>t
[1, 2, 3, 4]

	Notepad++

	1>	t = [1, 2, 3, 4]
2> t #该语句在powershell运行后不显示任何内容

小结:

在Notepad++里给变量赋值后,若要显示变量内容,只有输入print才会显示变量内容。

在powershell里给变量赋值后,若要显示变量内容,只需输入变量名。

example 4

在powershell中有一个奇怪的例子:

	>>>a = [1, 2, 3, 4]
>>>a.append(5)
>>> #结果不显示任何内容

为什么会这样?难道我们之前的结论是错误的?我们试试加入print :

	>>>a = [1, 2, 3, 4]
>>>print a.append(5)
None

原来是因为 a.append(5) 的值是None,也就是说在powershell中若操作结果为None则不显示任何东西

总结

powershell的执行过程:

在powershell中除了赋值语句,一般的命令都会显示结果。None也不例外,其实我们好好想想,它显示的就是“空”。

打印提示符并等待用户输入

获取用户输入

分析用户输入

解释执行

关于python命令在editor里编写与在interpreter里的编写的不同之处的更多相关文章

  1. 让你如绅士般基于描述编写 Python 命令行工具的开源项目:docopt

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  2. [转]Python 命令行参数和getopt模块详解

    FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...

  3. Python 命令行参数和getopt模块详解

    有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...

  4. visual studio如何附加到进程调试python命令

    既然是调试python脚本,那么我首先想到的是附加到进程(python.exe) 至于为什么不用F5直接启动python脚本呢,因为调用命令如下 C:> python test.py < ...

  5. Python命令行选项參数解析策略

    概述 在Python的项目开发过程中,我们有时须要为程序提供一些能够通过命令行进行调用的接口.只是,并非直接使用 command + 当前文件 就ok的,我们须要对其设置可选的各种各样的操作类型.所以 ...

  6. Python 命令行之旅 —— 初探 argparse

    『讲解开源项目系列』启动--让对开源项目感兴趣的人不再畏惧.让开源项目的发起者不再孤单.跟着我们的文章,你会发现编程的乐趣.使用和发现参与开源项目如此简单.欢迎联系我们给我们投稿,让更多人爱上开源.贡 ...

  7. Python 命令行模块使用技巧

    命令行参数传递 python main.py -H 192.168.1.1 -p 22,23,24 #coding:utf-8 import optparse def PortScan(host,po ...

  8. 快速上手 Python 命令行模块 Click

    关于Click? 说下 Click 模块是干啥的,简单说,它就是把我们的 Python 脚本的一些函数,通过 添加带有 Click 关键字的装饰器进行装饰进而将函数调用的形式转化为命令行传参的形式然后 ...

  9. shell脚本命令 运行python文件&python命令行运行python代码

    单独的python文件运行的时候 报错: 在shell脚本中,运行shell脚本命令:在Python命令行中,运行Python代码.然而,“python hello.py”是一个脚本命令,不是pyth ...

随机推荐

  1. Android中Menu的基本用法

    一. 使用xml定义Menu 菜单资源文件必须放在res/menu目录中.菜单资源文件必须使用<menu>标签作为根节点.除了<menu>标签外,还有另外两个标签用于设置菜单项 ...

  2. Perfect Squares

    Perfect Squares Total Accepted: 18854 Total Submissions: 63048 Difficulty: Medium Given a positive i ...

  3. mutex 和 spinlock 对比

    理论上: mutex和spinlock都是用于多进程/线程间访问公共资源时保持同步用的,只 是在lock失败的时候处理方式有所不同.首先,当一个thread 给一个mutex上锁失败的时候,threa ...

  4. HTML5 canvas 在线画笔绘图工具(三)

    组装画板(TDrawBuilder) 在这一小节中我们要把工具条和画板组装起来,让他们可以协同进行工作. 画板通过一个命名为TDrawBuilder来进行组装.在详细讲解TDrawBuilder对象之 ...

  5. Div+Css(一)必备知识

    我只积累我不知道的 参考链接 http://www.kwstu.com/ArticleView/divcss_201442291125960 http://www.kwstu.com/ArticleV ...

  6. javascript对象继承的实现

    现在有两个对象,需要实现Chinese类型对象对Person类型对象的继承. 这里分两部分,属性和方法. 属性可以直接用构造函数的方法实现继承,而方法则要通过原型链来实现继承. 先解释什么是原型链,每 ...

  7. Linux install Maven3

    1. Download JDK1.6 http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634 ...

  8. android的listview组件

    http://www.cnblogs.com/menlsh/archive/2013/03/15/2962350.html http://www.tuicool.com/articles/IveeI3 ...

  9. nginx grok 正则错误的输出情况

    nginx 配置: http { include mime.types; default_type application/octet-stream; log_format main '$http_h ...

  10. firebug加载不了js脚本文件问题

    转载自:http://tieba.baidu.com/p/1008322286 现象: 页面中有加载js文件,但是firebug却提示:    本页面不包含 Javascript 如果 <scr ...