总是>>>在Python中看到提示是很无聊的.什么是随机更改提示前缀的最佳方法?
我想象一下这样的互动:
This is a tobbaconist!>> import sys
Sorry?>> import math
Sorry?>> print sys.ps1
Sorry?
What?>>
Run Code Online (Sandbox Code Playgroud) 在以交互方式返回的签名中help(foo),是什么意思/?
In [37]: help(object.__eq__)
Help on wrapper_descriptor:
__eq__(self, value, /)
Return self==value.
In [55]: help(object.__init__)
Help on wrapper_descriptor:
__init__(self, /, *args, **kwargs)
Initialize self. See help(type(self)) for accurate signature.
Run Code Online (Sandbox Code Playgroud)
我认为它可能与仅关键字参数有关,但事实并非如此.当我使用仅关键字参数创建自己的函数时,位置和仅关键字参数由*(按预期)分隔,而不是由/.什么/意思?
当我第一次开始阅读Python时,所有教程都使用Python的交互模式.很难保存,编写长程序或编辑现有的行(至少对我来说).编写Python代码似乎比打开code.py文件并在该文件上运行解释器要困难得多.
python code.py
Run Code Online (Sandbox Code Playgroud)
我来自Java背景,所以我已经根深蒂固地希望为程序编写和编译文件.我也知道,如果某个功能在某些方面没有用处,那么它在Python文档中就不那么突出了.那我错过了什么?
我有一个我喜欢运行的python脚本python -i script.py,它运行脚本然后进入交互模式,以便我可以使用结果.
是否可以让脚本本身调用此选项,以便我可以运行python script.py并且脚本在运行后将进入交互模式?
当然,我可以简单地添加-i,或者如果需要付出太多努力,我可以编写一个shell脚本来调用它.
举个例子:
>>> 5+10
15
>>> a = 5 + 10
>>> a
15
Run Code Online (Sandbox Code Playgroud)
如果没有明确的print语句,Python如何以及为什么这样做?
如果我在IPython单元格中执行相同的操作,那么实际上只有最后一个这样的值以这种方式打印在stdout上:
In[1]: 5+10
1
Out[1]: 1
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
我遇到了一些不寻常的情况.我正在尝试编写交互式控制台脚本(用于教学/测试目的),我尝试了以下方法:
$ python > /dev/null
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print 3
>>>
Run Code Online (Sandbox Code Playgroud)
3不打印,所以其他一切都打开了stderr.到现在为止还挺好.但后来我们重定向stderr:
$ python 2> /dev/null
>>> print 3
3
>>>
Run Code Online (Sandbox Code Playgroud)
如何在两种情况下打印提示?
编辑:重定向两者stdout并stderr导致绝对无法打印.所以Python显然"选择"其中一个stdout或stderr.记录是否会发生?我无法弄清楚这是如何在Python源代码中实际完成的.
我目前使用 Wordpress 运行一个个人网站(但托管在 siteground 上),这是一组工程学习指南。我想使这些学习指南具有交互性(即基于滑块刷新图形,进行基本计算以指示设计是否有效,因此我需要 numpy)。一位朋友建议我为此目的使用 Jupyter 笔记本,因为您既可以渲染 LaTeX(我目前使用 Mathjax 和 Wordpress 来完成),也可以使用 Bokeh 或 Plotly 获得我想要的交互式图形类型。
虽然我已经看过在特定服务器上共享笔记本的教程,但我所追求的是让其他人能够在他们的浏览器中运行我的笔记本(只读),笔记本是私人托管的。
我仍然不确定 Jupyter 是否是实现我想要的正确途径,所以我愿意接受其他建议(有人也推荐使用 Julia,但我看到的例子较少)。
python web-hosting python-interactive ijulia-notebook jupyter-notebook
我有带有 jupyter 笔记本标记的 python 脚本#%%,它描述了我可以在 Visual Studio Code python Interactive 中运行此脚本。
据此:
我有类似的问题,因为所描述的解决方案在我的情况下不起作用。如何在 Visual Studio 代码中指定 Jupyter Notebook 命令“运行全部”的快捷方式?
python keyboard-shortcuts python-interactive visual-studio-code jupyter-notebook
我将 VS Code 与 Jupyter 的 Python 交互窗口一起使用,以便我可以运行单个单元格并在 Python 交互窗口中获取输出、图形等。
但是,某些颜色在较暗的主题上是不可读的,例如请参见下面示例中的蓝色和红色字样。
更改主题不会更改 Python 交互窗口中的颜色。
themes python-interactive jupyter visual-studio-code vscode-settings
在尝试回答有关is关键字使用的问题时,我发现这段代码:
脚本:
a = 123456
b = 123456
print a is b # True
Run Code Online (Sandbox Code Playgroud)
互动模式:
>>> a = 123456
>>> b = 123456
>>> a is b
False
Run Code Online (Sandbox Code Playgroud)
在Python交互模式下以及从脚本运行时提供不同的输出.
从这个答案:
当前实现为-5到256之间的所有整数保留一个整数对象数组,当您在该范围内创建一个int时,实际上只返回对现有对象的引用.
所以,我希望只a is b返回True范围内的整数[-5, 256].但它只适用于交互模式,而不是从脚本运行时.
问题:为什么a is b在交互模式下以及何时从脚本运行时表现不同?
注意:在Python 2.7和Python 3中测试
python ×9
inspection ×1
integer ×1
ipython ×1
jupyter ×1
prompt ×1
python-2.7 ×1
themes ×1
web-hosting ×1