{site_name}

{site_name}

🌜 搜索

Python交互解释器变更指的是在Python交互式解释器中对默认行为进行修改

Python 𝄐 0
python交互状态
Python交互解释器变更指的是在Python交互式解释器中对默认行为进行修改。这可以通过修改内置变量或使用特殊的命令来实现。

以下是一些可能的示例:

1. 修改默认的提示符号:

python
# before
>>>

# after
In [1]:


这个修改可以通过设置sys.ps1和sys.ps2变量来实现:

python
import sys

sys.ps1 = 'In [%d]: '
sys.ps2 = '... '

# now the prompt looks like this:
In [1]: print('Hello')
Hello


2. 启用/禁用自动缩进:

python
# before
>>> def foo():
... print('bar')

# after
>>> def foo():
print('bar')


这个修改可以通过使用特殊的命令\来控制:

python
# enable auto-indentation
>>> from IPython.terminal import interactiveshell
>>> interactiveshell.InteractiveShell.autoindent = True

# disable auto-indentation
>>> from IPython.terminal import interactiveshell
>>> interactiveshell.InteractiveShell.autoindent = False


3. 打印每次执行语句所花费的时间:

python
# before
>>> print('Hello')
Hello

# after
>>> print('Hello')
Hello
Elapsed time: 0.0001s


这个修改可以通过使用自定义的函数来实现:

python
import time

def timed_print(*args, **kwargs):
start_time = time.monotonic()
print(*args, **kwargs)
end_time = time.monotonic()
print(f'Elapsed time: {end_time - start_time:.4f}s')

# replace the built-in print() function with the custom one
print = timed_print

# now all calls to print() will also print elapsed time
>>> print('Hello')
Hello
Elapsed time: 0.0001s