python - 使用 eval(*code*) 和只使用 *code* 有什么区别?
问题描述
有什么区别:
cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
和:
cerebro.addsizer(bt.sizers.FixedSize, dict(args.sizer))?
我运行了第一个并且它工作但第二个导致错误。
有人可以帮帮我吗?
解决方案
Python 的 eval() 允许您从基于字符串或基于编译代码的输入计算任意 Python 表达式。当您尝试从作为字符串或编译代码对象的任何输入动态评估 Python 表达式时,此函数会很方便。
推荐阅读
- pointers - 当我传递一个指针时,我失去了该接口上所有可用的方法
- python - 登录(请求,用户)功能在 django.contrib.auth 中不起作用
- python - 从 ctypes.c_void_p 对象获取 memoryview 对象
- android - 无需点击通知即可从 Fragment 中的 FCM 通知中获取意图数据
- mysql - 从 JavaScript 类返回 MySql 结果
- mysql - 加入第二个表并选择第一个条目
- c# - 如何解决 SQL 在代码优先迁移部署 Azure 期间找不到数据类型 BLOB
- linkedin - 如何计算 LinkedIn 活动成本
- python - 如何将多行中的列值附加到一行中并在python中将多行合并为一行
- flutter - 有没有办法使用颤振ping本地IP地址?