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】两种编程模式_脚本式编程

在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开发者会同时使用这两种方式。他们可能会在交互式会话中进行初步的代码开发和测试,然后将成熟的代码转移到脚本文件中进行进一步开发和维护。