使用Python REPL的9个技巧
当然 貔貅 在 树莓派 来自 Python,它是世界上最流行的编程语言之一,尤其深受工匠和创客们的喜爱。在本篇文章中,我将向您介绍使用 Python REPL 的 9 个技巧和窍门,如果您对 Python REPL 还不是很熟悉,也不用担心。 蟒蛇 或 REPL。
这篇文章针对初学者和中级Python程序员。
什么是 REPL?
REPL 或 Read-Evaluate-Print Loop 是与 Python 解释器直接交互的一种方式。它之所以被称为 REPL,是因为它会读取、评估和打印输入,然后循环回到起点,允许您输入另一条命令。
它提供了一个通过 Python Shell 输入代码并立即接收输出的接口。这使得检查代码、实时调试和生成交互式测试成为可能。通常情况下,看到这三个箭头,你就知道你在使用 Python REPL:
>>>
在这里您可以输入您的信息。
值得一提的是
Python Shell"(Python Shell)和 "Python 解释器"(Python Interpreter)这两个术语有时可以互换使用,但它们之间有细微的差别。Python 解释器指的是执行 Python 代码的实际程序或软件。而 Python Shell 则是允许您与解释器进行实时交互的界面。
除了标准的Python和Python3 Shell,许多人还使用IPython和bpython,它们是命令行程序,提供独特的功能,如语法高亮。
你可以看到 IPython 和 bpython 默认情况下更漂亮(下面我们将介绍如何让标准 REPL 也更漂亮)。
值得注意的是,IPython 的 REPL 会将输入行编号为 "In [1]"、"In [2]"等。
与IPython不同,bpython保持>>>布局。
REPL还可以提供命令历史、制表符补全、访问以前定义的变量和函数等功能,使其成为交互式Python编程和探索的便捷工具。
这使得REPL成为任何想在Raspberry Pi上乱搞的人的宝贵工具。
现在,您已经了解了 REPL 是什么,让我们来探讨一些使用 REPL 的技巧:
技巧1:查找文档
您可以直接从 REPL 通过使用 help()
功能
例如,键入 help(str)
将显示字符串对象的文档。您还可以添加特定的方法或函数名称以获取详细信息,例如
help(str.upper)
如果输入这个信息,您将看到以下内容:
技巧2:利用制表符完成
根据您使用的程序,Python REPL 支持制表符补全,这可以节省您的时间并防止输入错误。键入部分名称或对象后按 Tab 键将显示可用选项。
例如,如果您键入 int.
然后按 Tab 键,你会看到一个整数运行方法列表。
技巧3:创建多行语句
此外,REPL允许您使用续行符编写多行语句。
如果您想将语句分成多行以便阅读,您可以使用反斜杠字符 (\
)在每行的末尾,以便将其延续到下一行(见下面的示例1)。
您也可以将语句放在括号或方括号中,以便在下一行中继续执行(见下面的示例2)。
# example 1: using backslash for a multi-line statement
name = 'Fatima'
age = 46
country = 'Germany'
message = 'Hi, ' + \
name + \
'! You are ' + \
str(age) + \
' years old and from ' + \
country + '.'
print(message)
# the message will be 'Hi, Fatima! You are 46 years old and from Germany.'
# example 2: using parentheses for a multi-line statement
total = (1 + 2 + 3 +
4 + 5 + 6 +
7 + 8 + 9)
print("The total is:", total)
# the message will be 'The total is: 45'
技巧4:访问以前输入的代码
您可以在 REPL 中使用向上和向下箭头键访问先前键入的代码,就像在终端中一样。
按向上箭头键将循环浏览您的命令历史,允许您快速调用和修改以前的命令。请亲自体验一下!
技巧5:使用下划线变量
下划线变量 (_)
保存 REPL 中最后一个表达式的求值结果。
如果需要在后续操作中重复使用结果,而无需重新评估整个表达式,下划线就能派上用场。因此,如果您需要进行一些快速计算,或者想要超快地检索数据,只需键入下划线作为前一个结果的标准变量即可。
技巧6:执行系统命令和魔法命令(IPython)
在 IPython("交互式 Python "的缩写)中,只要在一行代码前加上感叹号 (!
).
与 IPython 的 魔法指令, like %cd to change directory, you’re able to use the Python REPL for seamless integration!
例如 !ls
在基于 Unix 的系统上或 !dir
将列出当前目录的内容。
技巧7:进口试验
在 Python REPL 中,您可以尝试导入模块,而不需要创建单独的 Python 文件。这个特性允许您导入模块,尝试它们的功能,并交互式地探索它们的内容,方便您快速实验和探索不同的模块及其功能。
下面是如何使用 Python REPL 进行导入实验的方法:
>>> import math
>>> math.sqrt(16)
4.0
在本例中,我们使用 sqrt()
函数 math
模块计算16的平方根。
通过使用 Python REPL 进行导入实验,您可以快速测试和探索各种模块的功能,而不需要创建单独的 Python 文件。
通过这种互动和迭代过程,您可以更好地了解不同模块的工作原理,尝试不同的功能,并实时检查其结果。
技巧 8:自定义 REPL 提示
不喜欢将 >>> 作为主要提示符,而将...作为次要提示符?
你很幸运,因为你可以自定义 Python REPL 显示的提示。
通过修改 sys.ps1
和 sys.ps2
变量,您可以分别更改主提示和辅助提示。
快跑
import sys
sys.ps1 = 'primary'
sys.ps2 = 'secondary'
现在,主要提示将是 "primary",次要提示将是 "secondary"。你可以随意更改!例如,用符号或表情符号试试看!
这样做只会影响当前的 REPL 会话。如果你想让事情变得更持久,那么你需要找到".pyrc "文件并编辑其中的提示。
还记得我上面的 REPL 中那又闷又丑的提示器吗?让我们改变一下颜色。
如果你使用的是 Linux,那么你可以在终端中输入以下内容:
tee ~/.pyrc <<E0F
import sys
sys.ps1='\x01\x1b[1;34;40m\x02>>>\x01\x1b[0m\x02'
sys.ps2='\x01\x1b[1;35;40m\x02...\x01\x1b[0m\x02'
E0F
这将把主提示符的颜色改为灰底蓝字,把次提示符的颜色改为灰底紫字,如果你正在寻找这种颜色的话。请随意尝试所有 ANSI 颜色序列 找到您满意的提示器颜色。
完成后,请务必将其导出:
export PYTHONSTARTUP=~/.pyrc
现在您的提示应该是这样的:
同样,这只是暂时的。如果你想永久更改,就必须修改配置文件。不过,这也让你尝到了其中的乐趣!
技巧9:探索模块和对象
如果你想补充查找文档和利用选项卡补全功能,那么这个小窍门就能让你一举两得!
您可以通过使用 dir()
功能
将模块或对象作为参数传递,它将返回该模块或对象的名称列表,允许您探索其可用属性、方法和函数。
例如
import math
print (dir(math))
这将显示数学模块中可用属性、方法和函数的列表。
这样的小窍门可以帮助您实现无缝工作流程。
一旦掌握了这 9 个技巧,你就能更有效地使用 REPL。
这将使调试和测试代码更加顺利。
在下面的评论中告诉我们你有哪些 REPL 技巧!