V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
frmongo
V2EX  ›  Python

设置多个 global 变量有没有方便的操作?

  •  
  •   frmongo · 2020-10-19 10:32:02 +08:00 · 2045 次点击
    这是一个创建于 1256 天前的主题,其中的信息可能已经有所发展或是发生改变。

    语言 python3, 比如我要设置 50 个变量为全局变量,都是类似这句话

    global para_1 
    

    除了写 50 行声明语句,有用几行就能实现的写法吗?

    11 条回复    2020-10-19 17:41:40 +08:00
    frmongo
        1
    frmongo  
    OP
       2020-10-19 10:37:12 +08:00
    我找到一种稍微简便的写法

    global para_1,para_2...para_50

    还有别的方法吗
    kiracyan
        2
    kiracyan  
       2020-10-19 10:48:29 +08:00
    用脚本写
    BingoXuan
        3
    BingoXuan  
       2020-10-19 11:08:45 +08:00 via Android
    注入 globals 的字典
    frmongo
        4
    frmongo  
    OP
       2020-10-19 11:21:04 +08:00
    @BingoXuan cool
    zxCoder
        5
    zxCoder  
       2020-10-19 13:08:23 +08:00
    数组
    laike9m
        6
    laike9m  
       2020-10-19 13:19:12 +08:00   ❤️ 1
    > 我要设置 50 个变量为全局变量

    那你可能需要重构一下代码了
    JB18CM
        7
    JB18CM  
       2020-10-19 13:30:18 +08:00
    切片
    yucongo
        8
    yucongo  
       2020-10-19 14:47:59 +08:00
    p_list = [f'para_{idx}' for idx in range(1, 51)]
    globals().update(dict(zip(p_list, [None] * 50)))
    typetraits
        9
    typetraits  
       2020-10-19 15:29:48 +08:00   ❤️ 1
    50 个?不如直接存入一个 dict,然后把这个 dict 放到 globals 里
    faketemp
        10
    faketemp  
       2020-10-19 15:49:48 +08:00
    只有我一个人把标题看成"golang 变量"了吗
    frmongo
        11
    frmongo  
    OP
       2020-10-19 17:41:40 +08:00
    @typetraits 嗯,多谢,我现在就这些写的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1106 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:50 · PVG 02:50 · LAX 11:50 · JFK 14:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.