python模块中判断全局变量的赋值的实例讲解
1、在模块中,我们需要判断__name__是否被赋值为“__main__”。
python fibo.py <arguments>
2、在脚本执行的情况下,模块的__name__属性将被赋值为__main__,这就是原因所在。
$ python fibo.py 500 1 1 2 3 5 8 13 21 34
3、若以模块导入,则不会执行:
>>> import fibo>>>
知识点扩展:
Python动态声明变量赋值代码实例
通过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 definedlocal1 local2 local3---------------------global1 global2 global3---------------------exec1 exec2 exec3
到此这篇关于python模块中判断全局变量的赋值的实例讲解的文章就介绍到这了,更多相关python判断全局变量赋值内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
1. docker /var/lib/docker/aufs/mnt 目录清理方法2. Vuex localStorage的具体使用3. python+excel接口自动化获取token并作为请求参数进行传参操作4. Python matplotlib画图时图例说明(legend)放到图像外侧详解5. python tkinter实现下载进度条及抖音视频去水印原理6. Notepad++如何安装Python插件?Notepad++插件怎么装?7. Spring Boot如何开启并使用邮件服务8. ASP.NET泛型三之使用协变和逆变实现类型转换9. 6个常见的 PHP 安全性攻击实例和阻止方法10. vue - props 声明数组和对象操作

网公网安备