孙毅州 发表于 2024-9-6 22:14:57

【Python学习笔记】第3章 你应如何运行程序

这一章主要讲:如何启动Python程序、如何交互地输入代码、代码的各种运行方式。
交互式命令行模式

开始一个交互式会话

在终端中,输入python:

我们就开启了会话。结束会话按Ctrl+Z:

系统路径

如果我们要在终端中,输入python就可以启动,那么就需要设置环境变量PATH使其包含安装的python路径,否则就需要输入完整的路径。
我们也可以在终端中输入 cd 来跳转。
Python 3.3中的新Windows选项:PATH和启动器

从Python3开始,Windows安装程序有一个选项,在选中时能够使Python 3.3的目录自动添加到PATH,这样我们就不用手动地添加了。
Python 3.3自带了一个新的能自动安装地Windows启动器。
运行的位置:代码目录

我们可以自由地在任何位置通过新建文件夹创建目录,并把它作为代码运行的目录。
不需要输入的内容:提示符和注释

交互模式下,Python中的>>>和...字符用于提示用户在它们后面输入内容。在.py文件中编程时不需要加上。

#后面是注释,解释器运行时自动忽略。
交互地运行代码

交互模式下,我们可以不断地向python输入命令,每一条命令在回车后立即执行。
为什么要使用交互式命令行模式

实验

我们可以在交互环境下,输入自己不清楚的表达式。

测试

我们也可以在交互环境下,测试已经写入文件的地方。

使用注意:交互命令行模式


[*]只能输入Python命令
[*]print语句仅在文件中必须
[*]不需要缩进
[*]留意复合语句下的提示符变化:在提示你输入复合语句时,提示符为...
[*]用一个空行结束复合语句
[*]一次运行一条语句
系统命令行文件

交互式的缺点:写出来的程序不会保存。要永久保存程序,需要在文件中写入代码,这个文件叫做模块。运行模块文件时,python从头到尾执行文件中的代码。
第一段脚本

我们创建新的.py文件并在文本编辑器(这里用VSCode)中对其写入下面代码:

代码的含义会在以后的章节中解释。
使用命令行运行文件

我们在终端中,把路径切换到上述文件所在的路径,并输入python script1.py,得到:

不同的命令行使用方式

我们可以运行程序,将其输入到指定文件上:

得到:

这种操作称为重定向。
使用py命令(即之前提到的Windows启动器)也有同样的效果,且不要求PATH设置。否则需要输入完整路径。
使用注意:命令行和文件


[*]在Windows的默认记事本上,创建新的文件需要修改后缀(默认为.txt)。如果看不到后缀,可以在文件资源管理器找到“查看”,选择文件夹选项,再勾选“显示文件扩展名”。
[*]在系统命令行模式下,使用文件扩展名和目录路径,但在使用import时别使用它们。
[*]在文件中使用print语句。
UNIX风格可执行脚本:#!

UNIX 脚本基础

在python源文件的第一行加上:
#!usr/local/bin/python就是解释器的路径。操作系统使用它来找到解释器并运行代码。
UNIX env查找技巧

要避免在脚本文件中硬编码Python解释器的脚本路径,可以这么写:
#!usr/bin/env pythonenv通过系统的搜索路径的设置定位Python解释器,使代码更具有可移植性。
Python 3.3 Windows启动器:Windows也有#!了

点击文件图标

图标点击基础知识

点击Python程序文件,就可以让Python运行这个文件。
在Windows点击图标

我们可以注意到,.py文件的图标是白色的,.pyc文件的图标是黑色的。
Windows上输入的技巧

单击Python文件后,有时会出现一个窗口然后迅速消失,这是因为Python解释的速度非常快,一瞬间就执行完了。为了看清效果,可以在程序文件的末尾处加一个:
input()其他图标点击的限制

如果程序有错误,那么极有可能看不到,因为Python解释器会在打印错误信息后终止。为了解决这个问题,应当学会写一些代码来截取错误。
模块载入和重载

载入和重载基础知识

每一个.py的Python源代码文件都是一个模块,导入操作本质上就是载入一个文件,并给予读取那个文件内容的权限。这么设计的出发点是:大的Python程序往往由多个模块组成。
比如,我们可以在交互对话下输入载入模块指令import,但每次会话只能导入一次,这是因为,导入的开销非常大。

如果想再次导入,需要以下操作(由于我使用的是Python3,故弹出警告):

模块的宏观视角:属性

简单地说,属性就是绑定在特定对象(这里是模块)的变量名。如下图,模块myfile有一个属性是title。

可以直接导入模块,在使用模块中的属性,使用方法:.

也可以直接从模块导入属性,语法是:fromimport

总之,上面两种方法都会使myfile.py得以执行,并获得在文件顶层赋值的变量名的访问权。
我们可以用函数dir()获取模块内部的可用的全部变量名。

注意到以双下划线开头的变量名,它们是由Python预定义的内置变量名。
使用注意:import和reload

reload是不可传递的,这是因为它不会重载该模块导入的任何模块。
使用exec运行模块文件


exec类似于import,相当于“粘贴代码”,这意味着模块中的内容会覆盖掉一些变量的值。
IDLE用户界面

我用的是PyCharm,就不记这个了吧……(T v T)
其他IDE


[*]Eclipse、PyDev
[*]Komodo
[*]NetBeans IDE Python版
[*]PythonWin
[*]Wing
[*]Visual Studio Code
[*]PyCharm
其他启动选项

嵌入式调用

在C/C++程序中运行Python字符串
冻结二进制可执行文件

文件编辑器启动方式

其他的启动方式


来源:https://www.cnblogs.com/hiu-siu-dou/p/18399233
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 【Python学习笔记】第3章 你应如何运行程序