所以,我想"恶"的东西奈德Deily在他的回答中提到这里.现在我认为类型True现在总是为假.如何在交互式窗口中反转此操作?
不要这样做:
True = False
Run Code Online (Sandbox Code Playgroud)
由于True现在已被False完全覆盖,因此似乎没有明显的回溯方式.是否存在True来自的模块,我可以执行以下操作:
True = <'module'>.True
Run Code Online (Sandbox Code Playgroud) 我set在交互式python会话中使用它作为变量名称而意外地覆盖了 - 有没有什么办法可以在set不重新启动会话的情况下访问原始函数?
(我在那个会话中有很多东西,我宁愿不必这样做,虽然我当然可以在必要的时候.)
在遵循python教程的同时,我知道我们可以使用print作为变量名,并且它工作正常.但在分配打印变量后,我们如何取回原始打印功能?
>>> print("Hello World!!")
Hello World!!!
>>> print = 5
>>> print("Hi")
Run Code Online (Sandbox Code Playgroud)
现在,最后一次调用给出了错误TypeError:'int'对象不可调用,因为现在print的整数值为5.
但是,我们现在如何取回打印的原始功能?我们应该使用类名作为打印功能吗?如,SomeClass.print("Hi")?
提前致谢.
尝试使用Python解释器,我无意中分配了一个字符串,str如下所示:
str = 'whatever'
Run Code Online (Sandbox Code Playgroud)
后来在同一场会议上,我打电话给另一个声明str(),说......
double_whatever = str(2) + ' * whatever'
Run Code Online (Sandbox Code Playgroud)
...,并得到错误TypeError: 'str' object is not callable(而不是预期的输出'2 * whatever').一个相关的SO答案帮助我快速看到了我犯的错误.
但是,我仍然不清楚如何str()在受影响的会话中修复呼叫.当然我可以退出Python解释器并启动另一个会话,但我很好奇如何避免这种情况.
到目前为止,我已确认......
double_whatever = __builtins__.str(2) + ' * whatever' # => '2 * whatever'
Run Code Online (Sandbox Code Playgroud)
...仍然像我想要的那样工作; 但我不清楚如何回到不需要__builtins__.资格.
如何修复我无意识的重新定义,str以便我str()在Python-interpreter会话中的调用再次起作用?
我有一个清单,例如:
res = [['a', 'b', 'a'], ['a', 'b', 'c'], ['a']]
Run Code Online (Sandbox Code Playgroud)
我想计算有多少个列表包含特定字母。例如,“a”包含在 3 个列表中,“b”包含在 2 个列表中,“c”包含在 1 个列表中。
下面的代码是我到目前为止所拥有的:
count=0
docs='a'
list1=[]
for c in range(len(res)):
for i in res[0]:
list1.append(i)
for i in list1:
if i == docs:
count=1
print count
Run Code Online (Sandbox Code Playgroud) 每当我用作id变量名称时,我的 IDE 都会以与其他变量不同的颜色显示该术语。这是预期的还是 IDE 的某些功能(我正在使用 vs code)或者我不应该将其用作id变量?
我在运行代码时没有遇到任何问题。只有颜色的变化让我好奇。