1 描述

把一个字符串当成语句执行

exec()  执行储存在字符串或文件中的 Python 语句,相比于  eval() , exec() 可以执行更复杂的 Python 代码。

exec函数和eval函数类似,也是执行动态语句

只不过eval函数只用于执行表达式求值,

        而exec函数主要用于执行语句块。

>>> eval("a=1+2")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1
    a=1+2
     ^
SyntaxError: invalid syntax  #无效语法,字符串无法执行

>>> exec("a=1+2")
>>> a
3

2 语法

exec(object[, globals[, locals]])

object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行。

   = 字符串是Python的合法语句

globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。

   = 表达式使用的全局变量 字典    globals()

locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。

   = 表达式使用的局部变量 字典  等同globals(第二个参数值)

    有locals参数时,优先执行该参数

globals()

功能:收集全局变量
参数:无
返回值:得到一个收集全局变量的字典(会包含系统的内置变量)

locals()

功能:收集局部变量
参数:无
返回值:得到一个收集局部变量的字典

3 返回值

None

但是执行后,local或globals 的self 采用字典形式输出

4 练习

x = 100
y = 200

s = '''
a = x + y
print(a)
    '''
exec(s)

运行

300

x = 100
y = 200

ls = {'x':1,'y':2}
gs = {'x':3,'y':4}
exec('a = x + y',ls,gs)
print("ls =",ls)     #ls = {'x': 1, 'y': 2,}
print("----------------------")
print("gs =",gs)    #gs = {'x': 3, 'y': 4, 'a': 7}
print("======================")

ls = {'x':1,'y':2}
gs = {'x':3,'y':4}
exec('a = x + y',None,gs)
print("ls =",ls)    #ls = {'x': 1, 'y': 2}
print("----------------------")
print("gs =",gs)    #gs = {'x': 3, 'y': 4, 'a': 7}
print("======================")

ls = {'x':1,'y':2}
gs = {'x':3,'y':4}
exec('a = x + y',ls)
print("ls =",ls)    #ls = {'x': 1, 'y': 2, 'a': 3,}
print("----------------------")
print("gs =",gs)    #gs = {'x': 3, 'y': 4}
print("======================")

ls = {'x':1,'y':2}
gs = {'x':3,'y':4}
exec('a = x + y',ls,None)
print("ls =",ls)     #ls = {'x': 1, 'y': 2, 'a': 3, }
print("----------------------")
print("gs =",gs)    #gs = {'x': 3, 'y': 4}
print("======================")

实际上,在上述代码输出过程中,全局变量中包含了很多内置全局变量。上面的代码实际输出为:

ls = {'x': 1, 'y': 2, '__builtins__': {'id': <built-in function id>, 'min': <built-in function min>, 'license': Type license() to see the full license text, 'all': <built-in function all>, 'SyntaxError': <class 'SyntaxError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'delattr': <built-in function delattr>, 'OverflowError': <class 'OverflowError'>, 'RecursionError': <class 'RecursionError'>, 'BaseException': <class 'BaseException'>, 'FileExistsError': <class 'FileExistsError'>, 'help': Type help() for interactive help, or help(object) for help about object., 'dict': <class 'dict'>, 'FutureWarning': <class 'FutureWarning'>, 'IOError': <class 'OSError'>, 'NotADirectoryError': <class 'NotADirectoryError'>, 'complex': <class 'complex'>, 'ord': <built-in function ord>, 'print': <built-in function print>, 'property': <class 'property'>, 'callable': <built-in function callable>, 'memoryview': <class 'memoryview'>, 'set': <class 'set'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'ReferenceError': <class 'ReferenceError'>, 'BufferError': <class 'BufferError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'chr': <built-in function chr>, 'range': <class 'range'>, 'pow': <built-in function pow>, 'IndentationError': <class 'IndentationError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'TimeoutError': <class 'TimeoutError'>, 'InterruptedError': <class 'InterruptedError'>, 'int': <class 'int'>, 'ConnectionError': <class 'ConnectionError'>, 'input': <built-in function input>, 'FloatingPointError': <class 'FloatingPointError'>, 'NotImplementedError': <class 'NotImplementedError'>, 'bytes': <class 'bytes'>, 'staticmethod': <class 'staticmethod'>, 'isinstance': <built-in function isinstance>, 'False': False, 'AttributeError': <class 'AttributeError'>, 'ImportWarning': <class 'ImportWarning'>, 'SystemExit': <class 'SystemExit'>, '__import__': <built-in function __import__>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'abs': <built-in function abs>, 'filter': <class 'filter'>, 'slice': <class 'slice'>, 'tuple': <class 'tuple'>, 'iter': <built-in function iter>, 'object': <class 'object'>, 'eval': <built-in function eval>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'StopIteration': <class 'StopIteration'>, 'issubclass': <built-in function issubclass>, 'sum': <built-in function sum>, 'max': <built-in function max>, 'enumerate': <class 'enumerate'>, 'len': <built-in function len>, 'locals': <built-in function locals>, 'UserWarning': <class 'UserWarning'>, 'NameError': <class 'NameError'>, 'Exception': <class 'Exception'>, '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>), 'bin': <built-in function bin>, 'ResourceWarning': <class 'ResourceWarning'>, 'any': <built-in function any>, 'LookupError': <class 'LookupError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'list': <class 'list'>, 'ChildProcessError': <class 'ChildProcessError'>, 'next': <built-in function next>, 'Warning': <class 'Warning'>, 'ImportError': <class 'ImportError'>, '__build_class__': <built-in function __build_class__>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'str': <class 'str'>, 'classmethod': <class 'classmethod'>, 'globals': <built-in function globals>, 'BlockingIOError': <class 'BlockingIOError'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'UnicodeError': <class 'UnicodeError'>, 'oct': <built-in function oct>, 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
    for supporting Python development.  See www.python.org for more information., 'setattr': <built-in function setattr>, 'ascii': <built-in function ascii>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'exec': <built-in function exec>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, 'EnvironmentError': <class 'OSError'>, 'round': <built-in function round>, 'super': <class 'super'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'TypeError': <class 'TypeError'>, 'TabError': <class 'TabError'>, 'reversed': <class 'reversed'>, 'SystemError': <class 'SystemError'>, 'float': <class 'float'>, 'hasattr': <built-in function hasattr>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'IndexError': <class 'IndexError'>, 'None': None, 'repr': <built-in function repr>, 'True': True, 'ValueError': <class 'ValueError'>, 'sorted': <built-in function sorted>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'KeyError': <class 'KeyError'>, 'GeneratorExit': <class 'GeneratorExit'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'map': <class 'map'>, 'bool': <class 'bool'>, 'OSError': <class 'OSError'>, 'hex': <built-in function hex>, 'PermissionError': <class 'PermissionError'>, 'bytearray': <class 'bytearray'>, 'RuntimeError': <class 'RuntimeError'>, 'open': <built-in function open>, 'vars': <built-in function vars>, 'hash': <built-in function hash>, 'compile': <built-in function compile>, 'getattr': <built-in function getattr>, 'type': <class 'type'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'AssertionError': <class 'AssertionError'>, 'BytesWarning': <class 'BytesWarning'>, 'zip': <class 'zip'>, 'divmod': <built-in function divmod>, 'MemoryError': <class 'MemoryError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, '__debug__': True, 'dir': <built-in function dir>, '__name__': 'builtins', 'BrokenPipeError': <class 'BrokenPipeError'>, 'copyright': Copyright (c) 2001-2016 Python Software Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved., 'ArithmeticError': <class 'ArithmeticError'>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, 'Ellipsis': Ellipsis, '__package__': '', 'UnboundLocalError': <class 'UnboundLocalError'>, 'EOFError': <class 'EOFError'>, 'NotImplemented': NotImplemented}}
----------------------
gs = {'x': 3, 'y': 4, 'a': 7}
======================
ls = {'x': 1, 'y': 2}
----------------------
gs = {'x': 3, 'y': 4, 'a': 7}
======================
ls = {'x': 1, 'y': 2, 'a': 3, '__builtins__': {'id': <built-in function id>, 'min': <built-in function min>, 'license': Type license() to see the full license text, 'all': <built-in function all>, 'SyntaxError': <class 'SyntaxError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'delattr': <built-in function delattr>, 'OverflowError': <class 'OverflowError'>, 'RecursionError': <class 'RecursionError'>, 'BaseException': <class 'BaseException'>, 'FileExistsError': <class 'FileExistsError'>, 'help': Type help() for interactive help, or help(object) for help about object., 'dict': <class 'dict'>, 'FutureWarning': <class 'FutureWarning'>, 'IOError': <class 'OSError'>, 'NotADirectoryError': <class 'NotADirectoryError'>, 'complex': <class 'complex'>, 'ord': <built-in function ord>, 'print': <built-in function print>, 'property': <class 'property'>, 'callable': <built-in function callable>, 'memoryview': <class 'memoryview'>, 'set': <class 'set'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'ReferenceError': <class 'ReferenceError'>, 'BufferError': <class 'BufferError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'chr': <built-in function chr>, 'range': <class 'range'>, 'pow': <built-in function pow>, 'IndentationError': <class 'IndentationError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'TimeoutError': <class 'TimeoutError'>, 'InterruptedError': <class 'InterruptedError'>, 'int': <class 'int'>, 'ConnectionError': <class 'ConnectionError'>, 'input': <built-in function input>, 'FloatingPointError': <class 'FloatingPointError'>, 'NotImplementedError': <class 'NotImplementedError'>, 'bytes': <class 'bytes'>, 'staticmethod': <class 'staticmethod'>, 'isinstance': <built-in function isinstance>, 'False': False, 'AttributeError': <class 'AttributeError'>, 'ImportWarning': <class 'ImportWarning'>, 'SystemExit': <class 'SystemExit'>, '__import__': <built-in function __import__>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'abs': <built-in function abs>, 'filter': <class 'filter'>, 'slice': <class 'slice'>, 'tuple': <class 'tuple'>, 'iter': <built-in function iter>, 'object': <class 'object'>, 'eval': <built-in function eval>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'StopIteration': <class 'StopIteration'>, 'issubclass': <built-in function issubclass>, 'sum': <built-in function sum>, 'max': <built-in function max>, 'enumerate': <class 'enumerate'>, 'len': <built-in function len>, 'locals': <built-in function locals>, 'UserWarning': <class 'UserWarning'>, 'NameError': <class 'NameError'>, 'Exception': <class 'Exception'>, '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>), 'bin': <built-in function bin>, 'ResourceWarning': <class 'ResourceWarning'>, 'any': <built-in function any>, 'LookupError': <class 'LookupError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'list': <class 'list'>, 'ChildProcessError': <class 'ChildProcessError'>, 'next': <built-in function next>, 'Warning': <class 'Warning'>, 'ImportError': <class 'ImportError'>, '__build_class__': <built-in function __build_class__>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'str': <class 'str'>, 'classmethod': <class 'classmethod'>, 'globals': <built-in function globals>, 'BlockingIOError': <class 'BlockingIOError'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'UnicodeError': <class 'UnicodeError'>, 'oct': <built-in function oct>, 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
    for supporting Python development.  See www.python.org for more information., 'setattr': <built-in function setattr>, 'ascii': <built-in function ascii>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'exec': <built-in function exec>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, 'EnvironmentError': <class 'OSError'>, 'round': <built-in function round>, 'super': <class 'super'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'TypeError': <class 'TypeError'>, 'TabError': <class 'TabError'>, 'reversed': <class 'reversed'>, 'SystemError': <class 'SystemError'>, 'float': <class 'float'>, 'hasattr': <built-in function hasattr>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'IndexError': <class 'IndexError'>, 'None': None, 'repr': <built-in function repr>, 'True': True, 'ValueError': <class 'ValueError'>, 'sorted': <built-in function sorted>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'KeyError': <class 'KeyError'>, 'GeneratorExit': <class 'GeneratorExit'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'map': <class 'map'>, 'bool': <class 'bool'>, 'OSError': <class 'OSError'>, 'hex': <built-in function hex>, 'PermissionError': <class 'PermissionError'>, 'bytearray': <class 'bytearray'>, 'RuntimeError': <class 'RuntimeError'>, 'open': <built-in function open>, 'vars': <built-in function vars>, 'hash': <built-in function hash>, 'compile': <built-in function compile>, 'getattr': <built-in function getattr>, 'type': <class 'type'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'AssertionError': <class 'AssertionError'>, 'BytesWarning': <class 'BytesWarning'>, 'zip': <class 'zip'>, 'divmod': <built-in function divmod>, 'MemoryError': <class 'MemoryError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, '__debug__': True, 'dir': <built-in function dir>, '__name__': 'builtins', 'BrokenPipeError': <class 'BrokenPipeError'>, 'copyright': Copyright (c) 2001-2016 Python Software Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved., 'ArithmeticError': <class 'ArithmeticError'>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, 'Ellipsis': Ellipsis, '__package__': '', 'UnboundLocalError': <class 'UnboundLocalError'>, 'EOFError': <class 'EOFError'>, 'NotImplemented': NotImplemented}}
----------------------
gs = {'x': 3, 'y': 4}
======================
ls = {'x': 1, 'y': 2, 'a': 3, '__builtins__': {'id': <built-in function id>, 'min': <built-in function min>, 'license': Type license() to see the full license text, 'all': <built-in function all>, 'SyntaxError': <class 'SyntaxError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'delattr': <built-in function delattr>, 'OverflowError': <class 'OverflowError'>, 'RecursionError': <class 'RecursionError'>, 'BaseException': <class 'BaseException'>, 'FileExistsError': <class 'FileExistsError'>, 'help': Type help() for interactive help, or help(object) for help about object., 'dict': <class 'dict'>, 'FutureWarning': <class 'FutureWarning'>, 'IOError': <class 'OSError'>, 'NotADirectoryError': <class 'NotADirectoryError'>, 'complex': <class 'complex'>, 'ord': <built-in function ord>, 'print': <built-in function print>, 'property': <class 'property'>, 'callable': <built-in function callable>, 'memoryview': <class 'memoryview'>, 'set': <class 'set'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'ReferenceError': <class 'ReferenceError'>, 'BufferError': <class 'BufferError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'chr': <built-in function chr>, 'range': <class 'range'>, 'pow': <built-in function pow>, 'IndentationError': <class 'IndentationError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'TimeoutError': <class 'TimeoutError'>, 'InterruptedError': <class 'InterruptedError'>, 'int': <class 'int'>, 'ConnectionError': <class 'ConnectionError'>, 'input': <built-in function input>, 'FloatingPointError': <class 'FloatingPointError'>, 'NotImplementedError': <class 'NotImplementedError'>, 'bytes': <class 'bytes'>, 'staticmethod': <class 'staticmethod'>, 'isinstance': <built-in function isinstance>, 'False': False, 'AttributeError': <class 'AttributeError'>, 'ImportWarning': <class 'ImportWarning'>, 'SystemExit': <class 'SystemExit'>, '__import__': <built-in function __import__>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'abs': <built-in function abs>, 'filter': <class 'filter'>, 'slice': <class 'slice'>, 'tuple': <class 'tuple'>, 'iter': <built-in function iter>, 'object': <class 'object'>, 'eval': <built-in function eval>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'StopIteration': <class 'StopIteration'>, 'issubclass': <built-in function issubclass>, 'sum': <built-in function sum>, 'max': <built-in function max>, 'enumerate': <class 'enumerate'>, 'len': <built-in function len>, 'locals': <built-in function locals>, 'UserWarning': <class 'UserWarning'>, 'NameError': <class 'NameError'>, 'Exception': <class 'Exception'>, '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>), 'bin': <built-in function bin>, 'ResourceWarning': <class 'ResourceWarning'>, 'any': <built-in function any>, 'LookupError': <class 'LookupError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'list': <class 'list'>, 'ChildProcessError': <class 'ChildProcessError'>, 'next': <built-in function next>, 'Warning': <class 'Warning'>, 'ImportError': <class 'ImportError'>, '__build_class__': <built-in function __build_class__>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'str': <class 'str'>, 'classmethod': <class 'classmethod'>, 'globals': <built-in function globals>, 'BlockingIOError': <class 'BlockingIOError'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'UnicodeError': <class 'UnicodeError'>, 'oct': <built-in function oct>, 'credits':     Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
    for supporting Python development.  See www.python.org for more information., 'setattr': <built-in function setattr>, 'ascii': <built-in function ascii>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'exec': <built-in function exec>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, 'EnvironmentError': <class 'OSError'>, 'round': <built-in function round>, 'super': <class 'super'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'TypeError': <class 'TypeError'>, 'TabError': <class 'TabError'>, 'reversed': <class 'reversed'>, 'SystemError': <class 'SystemError'>, 'float': <class 'float'>, 'hasattr': <built-in function hasattr>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'IndexError': <class 'IndexError'>, 'None': None, 'repr': <built-in function repr>, 'True': True, 'ValueError': <class 'ValueError'>, 'sorted': <built-in function sorted>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'KeyError': <class 'KeyError'>, 'GeneratorExit': <class 'GeneratorExit'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'map': <class 'map'>, 'bool': <class 'bool'>, 'OSError': <class 'OSError'>, 'hex': <built-in function hex>, 'PermissionError': <class 'PermissionError'>, 'bytearray': <class 'bytearray'>, 'RuntimeError': <class 'RuntimeError'>, 'open': <built-in function open>, 'vars': <built-in function vars>, 'hash': <built-in function hash>, 'compile': <built-in function compile>, 'getattr': <built-in function getattr>, 'type': <class 'type'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'AssertionError': <class 'AssertionError'>, 'BytesWarning': <class 'BytesWarning'>, 'zip': <class 'zip'>, 'divmod': <built-in function divmod>, 'MemoryError': <class 'MemoryError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, '__debug__': True, 'dir': <built-in function dir>, '__name__': 'builtins', 'BrokenPipeError': <class 'BrokenPipeError'>, 'copyright': Copyright (c) 2001-2016 Python Software Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved., 'ArithmeticError': <class 'ArithmeticError'>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, 'Ellipsis': Ellipsis, '__package__': '', 'UnboundLocalError': <class 'UnboundLocalError'>, 'EOFError': <class 'EOFError'>, 'NotImplemented': NotImplemented}}
----------------------
gs = {'x': 3, 'y': 4}
======================

参考 https://www.cnblogs.com/sesshoumaru/p/5998523.html

最新文章

  1. 【Zeyphr】分页查询与修改
  2. eclipse不能打断点的问题
  3. 获取Repeater控件中的每一项数据
  4. android studio里的build.gradle基本属性
  5. oracle使用LEFT JOIN关联产生的问题在查询结果中使用CASE WHEN 无法判断
  6. 解决android自带textview右侧文字不能对齐的问题
  7. ostringstream的使用方法
  8. HTML+CSS笔记 CSS中级 一些小技巧
  9. 三、MapReduce学习
  10. 【swoole】如果使用好定时器功能
  11. (70)Wangdao.com第十一天_JavaScript 日期对象 Date
  12. 使用QQ传输大文件
  13. 二进制安装 kubernetes 1.12(二) - 安装docker, 部署Flannel网络
  14. Linux 下面 PG 的 uuid-ossp 包安装办法
  15. python对象-多态
  16. tomcat的调优管理
  17. centOS配置国内镜像
  18. Java - String, Stringbuilder, StringBuffer比较
  19. 异常来自HRESULT:0x80070422
  20. 初识STM32标准库

热门文章

  1. 网页IE轻松调用VLC播放器实现监控(组件+方法大全)【转】
  2. Flatten Binary Tree to Linked List leetcode java
  3. RxJava 设计理念 观察者模式 Observable lambdas MD
  4. IOS Key-Value Observing (KVO)
  5. 【Storm】学习笔记
  6. Cognos第三方权限认证Oracle用户库
  7. Linux学习笔记之初级篇
  8. 压缩 MongoDB 的数据文件
  9. css选择器顺序的小技巧
  10. java 打包war包