Python作为一种灵活且功能强大的编程语言,提供了交互式编程和脚本式编程两种不同的编程方式。
交互式编程
交互式编程指的是在Python解释器(也称为REPL,即Read-Eval-Print Loop)中直接输入并执行Python代码。在这种模式下,你可以即时看到代码的输出结果,非常适合进行代码测试和实验。
优点
- 即时反馈:输入的代码会立即执行,并显示结果。
- 学习工具:对于初学者来说,交互式编程是一个很好的学习工具,因为它允许他们逐步构建和理解代码。
- 调试方便:在开发过程中,可以方便地测试小段代码,而无需创建完整的脚本。
缺点
- 无法保存:在交互式会话中编写的代码不会自动保存,除非手动复制到文件中。
- 不适合大型项目:对于复杂的程序,管理多个交互式会话会变得混乱和低效。
使用
交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进来编写代码。
Linux上你只需要在命令行中输入Python命令即可启动交互式编程,提示窗口如下:
$ python3
Python 3.8.10 (default, Sep 11 2024, 16:02:53)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Windows上在安装Python时已经安装了交互式编程客户端,双击python.exe
,提示窗口如下
在Python提示符中输入以下文本信息,然后按Enter键查看运行效果:
>>> print ("Hello, Python!")
Hello, Python!
交互模式中,多行语句的写法:
>>> the_world_is_flat = True
>>> if the_world_is_flat:
... print("Be careful not to fall off!")
...
Be careful not to fall off!
怎么退出交互模式?按ctrl+c退不了,需要使用quit()函数:
>>> quit()
脚本式编程
脚本式编程指的是将Python代码编写在文件中(通常称为脚本),然后通过Python解释器运行该文件。这种方式更适合编写和执行复杂的程序。
优点
- 代码可保存和重用:脚本文件可以保存并在需要时重新运行。
- 模块化:可以将代码组织成多个文件,提高可读性和可维护性。
- 适合大型项目:脚本式编程可以处理复杂的逻辑和大量的数据,适合开发大型应用程序。
缺点
- 需要额外的步骤:与交互式编程相比,运行脚本需要额外的步骤(如打开文件、保存文件、在命令行中运行等)。
- 错误反馈可能延迟:在脚本中编写的代码在运行时才会被解释器检查,因此错误可能不会立即被发现。
使用
通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。
让我们写一个简单的Python脚本程序。所有Python文件将以.py
为扩展名。将以下的源代码拷贝至interactive_mode.py
文件中。
print ("Hello, Python!")
这里,假设你已经设置了Python解释器PATH变量。使用以下命令运行程序:
$ echo 'print ("Hello, Python!")' > interactive_mode.py
$ cat interactive_mode.py
print ("Hello, Python!")
$ python3 interactive_mode.py
Hello, Python!
让我们尝试另一种方式来执行Python脚本。新建interactive_mode2.py文件,如下所示:
#!/usr/bin/python3
print ("Hello, Python!")
这里,假定您的Python解释器在/usr/bin
目录中,使用以下命令执行脚本:
$ cat << EOF > interactive_mode2.py
> #!/usr/bin/python3
>
> print ("Hello, Python!")
> EOF
$ cat interactive_mode2.py
#!/usr/bin/python3
print ("Hello, Python!")
$ chmod +x interactive_mode2.py # 脚本文件添加可执行权限
$ ./interactive_mode2.py
Hello, Python!
python源码文件的编码格式默认为UTF-8,如果需要指定文件的编码格式可在文件头部增加如下语句:
#!/usr/bin/python3
# -*- coding: gbk -*-
怎么传递参数到脚本中?
脚本如下:
#!/usr/bin/python3
import sys
print("参数1:", sys.argv[1])
print("参数2:", sys.argv[2])
运行结果如下:
$ python3 interactive_mode3.py aa bb
参数1: aa
参数2: bb
如何选择
选择交互式编程还是脚本式编程取决于你的具体需求:
- 学习目的:如果你是初学者,正在学习Python编程,那么交互式编程是一个很好的起点。
- 简单测试:如果你需要快速测试小段代码,交互式编程也很方便。
- 开发复杂程序:对于需要结构化、模块化和可维护性的复杂程序,脚本式编程是更好的选择。
在实践中,许多Python开发者会同时使用这两种方式。他们可能会在交互式会话中进行初步的代码开发和测试,然后将成熟的代码转移到脚本文件中进行进一步开发和维护。