编程入门01:Python程序运行
你已尝试过使用Python解释器,这是一个命令行程序,必须通过键盘输入完成所有操作。人们通常都会使用某种“集成开发环境”(Integrated Development Environment,简称IDE),在更方便的图形用户界面中编写、运行和调试程序。Python官方发行版带有一个简单的IDE叫做IDLE,意思是“集成开发与学习环境” (Integrated Development and Learning Environment),打开方法是点击Python 3.6程序组中的IDLE菜单项。IDLE窗体带有标准的菜单栏,在基本的命令行操作之外还提供编辑器等增强功能,它会调用下层的Python解释器来具体执行指令。
01_idle.png
我们使用IDLE来编写一段由7行语句组成的程序,计算1累加至n的结果。它的结构更为完整:首先接收用户的“输入”,然后进行特定的“处理”,最终将处理结果“输出”(注意#后的文本是注释,用来对语句进行说明,可以不必输入)
n = int(input("计算1累加至n,请输入n:")) # 获取输入的字符串,转换为整数,赋值给变量n
x = 1 # 变量x赋值1
result = 0 # 变量result赋值0
while x <= n: # 当x小于等于n时循环执行子语句
result += x # result原值加x
x += 1 # x原值加1
print("1累加至{}的结果是{}".format(n, result)) # 输出包含n和result的字符串
用户在>>>提示符后输入语句,系统即时反馈结果,这叫“交互模式”。交互模式下必须执行完一条语句再输入下一条语句,如果以复制粘贴的方式输入了多条语句,执行时就会提示语法错误“存在多条语句”(SyntaxError: multiple statements found while compiling a single statement)
交互模式下输入的语句会临时保存,你可以按Alt-P和Alt-N前后切换已输入的语句,在回车执行之前可以修改当前语句。交互模式可以用于查看信息,例如输入help()打开帮助界面,输入dir()列出当前空间所有对象的名称;交互模式也适合用来进行测试,它会自动输出语句的“返回值”,例如你想知道2的20次方是多少,输入2**20
就好了,不需要输入print(2**20)
。
首行末尾带冒号,后面跟多行缩进子句的算一条“复合语句”,在交互模式下,复合语句要按两次回车键才会执行,例如累加程序中从while开始的三行语句就是一条复合语句,如果不按两次回车结束复合语句而继续输入后面的语句,执行时也会提示语法错误。(注意:缩进的统一规范为4个空格)
01_interact.png
如果你的程序需要保留并重复使用,应该按Ctrl+N(或点菜单栏“File”>“New File”)新建一个.py文件来编写程序代码并保存到指定的文件夹,例如D:\Test\accumulate.py,然后按F5(或点菜单栏“Run”>“Run Module")执行这个文件,这是Python程序运行的标准模式。
01_run.png
你的程序也能直接在操作系统中运行:要运行已保存的accumulate.py文件,就打开系统命令行窗口切换到accumulate.py文件所在目录再输入python accumulate.py(如果文件不在当前目录,就要加上路径);或者在文件夹窗口中双击accumulate.py文件(在这种方式下程序结束时会自动关闭命令行窗口,所以如果你想看清输出内容,可以在末尾再加一行语句input("按回车键退出程序")
——编程原来是这样……
编程小提示:Python的IDE介绍
IDLE其实就是一个用Python写的程序,你可以在Python安装目录的Lib\idlelib的文件夹下找到idle.pyw文件,双击一下试试看(.pyw是指窗口模式Python文件,系统执行此类文件时将不会打开黑色的命令行窗口) https://docs.python.org/3/library/idle.html
你还可以使用更专业的IDE,例如同样用Python写的Spyder(上次提到的Anaconda就集成了这个IDE) https://github.com/spyder-ide/spyder
以及用Java写的PyCharm,也有很多人在使用 https://www.jetbrains.com/pycharm/download
个人觉得对新人最友好的IDE是Visual Studio,2017版正式加入了Python语言支持 https://www.visualstudio.com/zh-hans/vs/