通过exec()、globals()和locals()

# 通过exec()
for i in range(1, 4):
# 第一次循环 i=1 时,会执行字符串中的python语句 ex1 = "exec1",以此类推
exec(f'ex{i} = "exec{i}"') # 通过globals()和locals()
def test():
# globals()
for i in range(1, 4):
# 第一次循环 i=1 时,执行 globals()['gb1'] = 'global1', globals()是一个dict
globals()[f'gb{i}'] = f'global{i}' # locals()
for i in range(1, 4):
locals()[f'lc{i}'] = f'local{i}' # 尝试打印locals的变量
try:
print(lc1, lc2, lc3) # 会报错
except Exception as e:
print(e)
print(locals()['lc1'], locals()['lc2'], locals()['lc3']) # 通过键值对 if __name__ == '__main__':
# 执行
test()
print('---------------------')
# 打印函数定义的全局变量
print(gb1, gb2, gb3)
print('---------------------')
# 打印通过exec()定义的变量
print(ex1, ex2, ex3)

输出结果:

name 'lc1' is not defined
local1 local2 local3
---------------------
global1 global2 global3
---------------------
exec1 exec2 exec3

最新文章

  1. request \response 总结
  2. 用Netty开发中间件:高并发性能优化
  3. Object&&String学习
  4. 如何用crontab运行一个图形化界面的程序
  5. Linux使用者管理(2)---账号管理
  6. GDB技巧整理
  7. 个人vim配置(.vimrc文件分享)
  8. 二叉排序树(BST)构造与应用
  9. [SDOI2014]旅行
  10. 一些常用的js循环,如for
  11. 基于STM32L4的开源NBIOT开发资料
  12. 2019.03.09 codeforces833B. The Bakery(线段树优化dp)
  13. git权限
  14. js检测当前设备是移动端还是PC端
  15. 为什么call比apply快
  16. Scala中=>的用法
  17. centos下配置gitosis服务器遇到的困难
  18. webpack-cli解决办法
  19. 分类算法:决策树(C4.5)(转)
  20. servlet中获取各种相对地址(服务器、服务器所在本地磁盘、src等)。

热门文章

  1. BZOJ 1188 / Luogu P3185 [HNOI2007]分裂游戏 (SG函数)
  2. 【Python之路】特别篇--服务商API认证、Restful、一致性哈希
  3. .NET大文件分片上传
  4. IntelliJ 如何显示代码的代码 docs
  5. js类型判断:typeof与instanceof
  6. TensorFlow错误ValueError: No gradients provided for any variable
  7. LeetCode 简化路径(探索字节跳动)
  8. [java]取当前平台默认字符集,取字符串长度
  9. k8s-helm02-----helm常用命令
  10. http2.0多路复用