Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python exec()在Spyder中的函数内工作不正常_Python_Python 3.x_Anaconda_Exec_Spyder - Fatal编程技术网

Python exec()在Spyder中的函数内工作不正常

Python exec()在Spyder中的函数内工作不正常,python,python-3.x,anaconda,exec,spyder,Python,Python 3.x,Anaconda,Exec,Spyder,我试图使用一个函数来创建一个类的实例。我这样做是因为我正在创建一个数据库,我希望有一个所有对象名称的记录 我试图使用exec()创建这些类实例,但它似乎在Spyder中不起作用,而在标准python conole中起作用。例如: def function(command): exec(command, globals()) 在标准控制台中: >>> function("x = 1") >>> x 1 而在Spyder,我得到: >>&g

我试图使用一个函数来创建一个类的实例。我这样做是因为我正在创建一个数据库,我希望有一个所有对象名称的记录

我试图使用exec()创建这些类实例,但它似乎在Spyder中不起作用,而在标准python conole中起作用。例如:

def function(command):
    exec(command, globals())
在标准控制台中:

>>> function("x = 1")
>>> x
1
而在Spyder,我得到:

>>> function("x = 1")
>>> x
Traceback (most recent call last):

  File "<ipython-input-266-6fcf9dfbd479>", line 1, in <module>
    x

NameError: name 'x' is not defined
然后输入以下内容:

>>> y
8
但是,如果我尝试在交互窗口中调用该函数:

>>> function("y = 6")
>>> y
8

“我正在尝试使用exec()创建这些类实例”您可能不应该在开始时这样做with@juanpa.arrivillaga为什么?“我正在尝试使用exec()创建这些类实例”您可能不应该在开始时这样做with@juanpa.arrivillaga怎么会?
>>> function("y = 6")
>>> y
8