制作Python的交互式解释器类打印评估表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了制作Python的交互式解释器类打印评估表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1119字,纯文字阅读大概需要2分钟。
内容图文
![制作Python的交互式解释器类打印评估表达式](/upload/InfoBanner/zyjiaocheng/778/bc1fdd72f2a2405b8e41f59e75b4cd0e.jpg)
当您使用Python Interactive Interpreter时,您可以输入一个表达式,例如1 1,它将打印该值.如果你在脚本中写1 1,它将不会打印任何东西,这是完全合理的.
但是,当您创建code.InteractiveInterpreter的子类,然后使用runco??de方法将1 1传递给它时,它将不会打印2,这没有多大意义.
有没有人知道一个干净的方法来使InteractiveInterpreter实例打印表达式的值?
注意:这需要非常强大,因为应用程序为用户提供了一个shell,我们都知道它们是什么样的.
干杯
附:这是一个Python3应用程序,但更好的Python2解决方案将得到检查.
解决方法:
这不是code.InteractiveConsole的用途吗?
>>> import code
>>> console = code.InteractiveConsole()
>>> r = console.push('1+1')
2
>>> r = console.push('x = 4 + 1')
>>> r = console.push('x + 10')
15
>>> r = console.push('def test(n):')
>>> r = console.push(' return n + 5')
>>> r = console.push('')
>>> r = console.push('test(10)')
15
或者使用嵌入式换行符:
>>> r = console.push('def test2(n):\n return n+10\n')
>>> r = console.push('test2(10)')
20
>>>
# the following, however, fails...
>>> r = console.push('test(10)\ntest(15)')
File "<console>", line 1
test(10)
^
SyntaxError: multiple statements found while compiling a single statement
>>>
内容总结
以上是互联网集市为您收集整理的制作Python的交互式解释器类打印评估表达式全部内容,希望文章能够帮你解决制作Python的交互式解释器类打印评估表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。