关于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. USACO 1.3... 虫洞 解题报告(搜索+强大剪枝+模拟)

    这题可真是又让我找到了八数码的感觉...哈哈. 首先,第一次见题,没有思路,第二次看题,感觉是搜索,就这样写下来了. 这题我几乎是一个点一个点改对的(至于为什么是这样,后面给你看一个神奇的东西),让我 ...

  2. linux修改rm指令执行(数据安全)

    引用文章A:http://hi.baidu.com/jlusuoya/item/32ae398958088755840fabfb 引用介绍:将rm替换为mv. 引用文章B:http://blog.cs ...

  3. php封装redis负载均衡类

    $array = array( 'master' => array( "redis://127.0.0.1:6379?timeout=1", ), 'slave' => ...

  4. Ubuntu14.04右键菜单添加Sublime 2打开选项

    序 Ubuntu上安装Sublime的时候直接下载的压缩包(软件中心里没有找到Sublime),于是每次想用Sublime打开一个文件的时候就得先打开Sublime然后从File -> Open ...

  5. svg 文字

    <text>标签 在svg中用使用<text>标签去定义一段文字.如 Example 1 在svg中写下 在平坦的路上曲折前行 Example 1 Dome <svg h ...

  6. tp其他功能

    数据缓存 在ThinkPHP中进行缓存操作,一般情况下并不需要直接操作缓存类,因为系统内置对缓存操作进行了封装,3.1版本推荐的数据缓存方法是cache方法,基本的用法是:(3.1.2版本cache方 ...

  7. JavaScript 问答 - No.1

    1     什么是JavaScript? JavaScript 是世界上最流行的脚本语言. JavaScript 是属于 web 的语言,它适用于 PC.笔记本电脑.平板电脑和移动电话. JavaSc ...

  8. 在类似qq或者微信聊天中。如何根据不同的手机发送图片

    原文:在类似qq或者微信聊天中.如何根据不同的手机发送图片   前一段时间,公司自己要求做多客服开发,但是对于发送图片这一块,当时很苦恼,我用自己的手机(米2)测试,不管是本地,还是云相册,最新照片. ...

  9. java中内存结构及堆栈详解

    一. java内存结构 1. Heap(堆):实例分配的地方,通过-Xms与-Xmx来设置 2. MethodArea(方法区域):类的信息及静态变量. 对应是Permanet Generation, ...

  10. C语言的本质(13)——指向指针的指针

    指针可以指向基本类型,也可以指向复合类型,因此一个指针变量存放的可以是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量.由于指针变量直接指向变量,所以称为"单级间址".而 ...