关于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也不例外,其实我们好好想想,它显示的就是“空”。
打印提示符并等待用户输入
获取用户输入
分析用户输入
解释执行