python模块中判断全局变量的赋值的实例讲解
作者:小妮浅浅 发布时间:2021-01-05 13:29:37
标签:python,变量赋值
1、在模块中,我们需要判断__name__是否被赋值为“__main__”。
python fibo.py <arguments>
2、在脚本执行的情况下,模块的__name__属性将被赋值为__main__,这就是原因所在。
$ python fibo.py 50
0 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 defined
local1 local2 local3
---------------------
global1 global2 global3
---------------------
exec1 exec2 exec3
来源:https://www.py.cn/jishu/jichu/28637.html
0
投稿
猜你喜欢
- 前言本文继续学习下 Python 编程在网络攻防领域的应用,主要是通过 Python 脚本进行 SSH 登录爆破和 FTP 服务登录爆破。S
- 概念Slice切片是对底层数组Array的封装,在内存中的存储本质就是数组,体现为连续的内存块,Go语言中的数组定义之后,长度就已经固定了,
- 本文实例讲述了Python使用文件锁实现进程间同步功能。分享给大家供大家参考,具体如下:简介在实际应用中,会出现这种应用场景:希望shell
- 阅读上一篇:javascript面向对象编程(一)[javascript模拟传统OOP]javascript是一种非常灵活的语言,它的灵活度
- 什么是TCP/IP、UDP? TCP/IP(
- Balloons(气球状提示)问题摘要气球状提示(Balloon)是一个小型的弹出窗口,用于通知用户出现非关键性问题或控件处于某种特殊情况。
- 1.引言创建命令行程序很棒:命令行可以按照我们的设定完成相应的工作,相比GUI界面程序,无需花费数小时尝试使 GUI 正常工作。但有时最好有
- 本文实例为大家分享了python实现用户名密码校验的具体代码,供大家参考,具体内容如下需要实现功能输入用户名密码 ;认证成功后显示 欢迎信息
- 弄个随机数的东西,直接从网上找了一个现成的,简单看了两眼,感觉算法应该是对的,但今天测试下来,是不对的;网上大多数人用的写法是这样的:fun
- 这篇文章主要介绍了Pytest mark使用实例及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 最近在学习python,做一些python练习题github上几年前的练习题有一题是这样的:使用 Python 实现:对着电脑吼一声,自动打
- 在SQL Server数据库中,如果执行Transact-SQL时出现了错误,我们可以使用两种捕捉错误的方法解决此问题,一种是在客户端代码(
- 本文实例讲述了Python Flask框架模板操作。分享给大家供大家参考,具体如下:模板在前面的示例中,视图函数的主要作用是生成请求的响应,
- 语言是信息传播的主要障碍。多语言网站,顾名思义就是能够以多种语言(而不是单种语言)为用户提供信息服务,让使用不同语言的用户都能够从同个网站获
- 在Windows环境下,经常遇到系统Over的情况,如果你在新装了系统和SQL Server 2005后,需要把SQL Server2000
- Jinja是组成Flask的模板引擎。可能你还不太了解它是干嘛的,但你对下面这些百分号和大括号肯定不陌生:{% block body %}
- JetBrains网址:https://www.jetbrains.com/shop/eform/students注册成功后,在校期间都可以
- 前言:如果使用进到的日志文件方法:logging.FileHandler,会导致日志信息全部存放在一个日志文件中,不利于后面对日志文件的使用
- 一、引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存
- 总有一些程序在windows平台表现不稳定,动不动一段时间就无响应,但又不得不用,每次都是发现问题了手动重启,现在写个脚本定时检测进程是否正