python模块中判断全局变量的赋值的实例讲解

作者:小妮浅浅 时间:2021-01-05 13:29:37 

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

标签:python,变量赋值
0
投稿

猜你喜欢

  • Python判断字符串与大小写转换

    2021-07-17 03:23:35
  • 详解Python的基础语法和变量操作

    2021-10-13 17:07:54
  • JavaScript运动框架 多值运动(四)

    2023-09-08 01:44:51
  • 地图网站的需求功能与体验

    2009-03-01 11:15:00
  • 微软建议的ASP性能优化28条守则(7)

    2005-05-30 16:02:00
  • WEB2.0网页制作标准教程(11)不用表格的菜单

    2008-02-19 19:36:00
  • 基于PHP做个图片防盗链

    2023-05-25 00:27:30
  • ASP使用wsImage组件给图片加水印

    2008-12-29 19:14:00
  • 对python pandas中 inplace 参数的理解

    2021-03-26 04:58:25
  • python list.sort()根据多个关键字排序的方法实现

    2021-05-22 03:16:09
  • python asyncio 协程库的使用

    2022-09-13 13:28:16
  • Python face_recognition实现AI识别图片中的人物

    2023-08-14 21:34:35
  • 两大步骤教您开启MySQL 数据库远程登陆帐号

    2010-09-30 16:42:00
  • 在ASP中使用SQL语句之11:记录统计

    2007-08-11 13:27:00
  • 详解如何在pyqt中通过OpenCV实现对窗口的透视变换

    2021-11-04 07:10:13
  • asp如何终止浏览器的 CAHCE 页面?

    2010-07-07 12:25:00
  • 彻底理解Python list切片原理

    2023-10-19 03:34:43
  • SQLSERVER 创建索引实现代码

    2012-04-13 12:17:05
  • python机器学习MATLAB最小二乘法的两种解读

    2022-02-19 08:00:11
  • 基于Python的微信机器人开发 微信登录和获取好友列表实现解析

    2021-09-14 17:03:46
  • asp之家 网络编程 m.aspxhome.com