在内置函数中赋值
Assign Value in builtin function
我正在使用Pandas(python)。我想写这行
a=pd.Series([1,2,3])
但是我写错了
a=pd.Series=[1,2,3]
当我写正确的语法时它给出了错误
ba=pd.Series([1,2,3])
TypeError: 'list' object is not callable
因为它分配列表pd.Series
=[1, 2, 3]
>>> pd.Series
[1, 2, 3]
如何从 pd.Series
中删除此列表?
您可以简单地将 pd.Series
重新分配给正确的值:
pd.Series = pd.core.series.Series
这仅在仍然存在对原始 function/class 的引用时有效(在本例中有 pd.core.series.Series
)。如果您覆盖了其他地方没有引用的内容,这将不起作用。
再举个例子(基于评论中的一个问题),假设你覆盖了list
,你可以使用builtins
模块(或__builtin__
模块Python2):
list = [1,2,3] # overwritten list
b = list(range(10)) # throws a "TypeError: 'list' object is not callable"
import builtins
list = builtins.list # restored
b = list(range(10)) # works
然而,重新启动 Python 解释器通常要容易得多(它也应该可以工作),在某些情况下,它可能只是唯一的选择(以防万一没有其他东西引用被覆盖的值。
使用reload内置函数重新加载模块。
reload(pd)
展示:
>>> import pandas as pd
>>> pd.Series
<class 'pandas.core.series.Series'>
>>> pd.Series=[1,2,3]
>>> pd.Series
[1, 2, 3]
>>> reload(pd)
<module 'pandas' from '.local/lib/python2.7/site-packages/pandas/__init__.pyc'>
>>> pd.Series
<class 'pandas.core.series.Series'>
我正在使用Pandas(python)。我想写这行
a=pd.Series([1,2,3])
但是我写错了
a=pd.Series=[1,2,3]
当我写正确的语法时它给出了错误
ba=pd.Series([1,2,3])
TypeError: 'list' object is not callable
因为它分配列表pd.Series
=[1, 2, 3]
>>> pd.Series
[1, 2, 3]
如何从 pd.Series
中删除此列表?
您可以简单地将 pd.Series
重新分配给正确的值:
pd.Series = pd.core.series.Series
这仅在仍然存在对原始 function/class 的引用时有效(在本例中有 pd.core.series.Series
)。如果您覆盖了其他地方没有引用的内容,这将不起作用。
再举个例子(基于评论中的一个问题),假设你覆盖了list
,你可以使用builtins
模块(或__builtin__
模块Python2):
list = [1,2,3] # overwritten list
b = list(range(10)) # throws a "TypeError: 'list' object is not callable"
import builtins
list = builtins.list # restored
b = list(range(10)) # works
然而,重新启动 Python 解释器通常要容易得多(它也应该可以工作),在某些情况下,它可能只是唯一的选择(以防万一没有其他东西引用被覆盖的值。
使用reload内置函数重新加载模块。
reload(pd)
展示:
>>> import pandas as pd
>>> pd.Series
<class 'pandas.core.series.Series'>
>>> pd.Series=[1,2,3]
>>> pd.Series
[1, 2, 3]
>>> reload(pd)
<module 'pandas' from '.local/lib/python2.7/site-packages/pandas/__init__.pyc'>
>>> pd.Series
<class 'pandas.core.series.Series'>