【问题标题】:environmental variables vs. global variables环境变量与全局变量
【发布时间】:2022-01-06 23:14:46
【问题描述】:

我对 shell 脚本和 python 还是很陌生。在阅读材料时,我在 shell 中看到了术语“环境变量”,在 python 中看到了“全局变量”。我觉得这两个词意思一样,但不确定。谁能更详细地解释他们的区别。

提前谢谢你。

【问题讨论】:

  • 全局变量只存在于您的脚本中。您的环境中存在一个环境变量。
  • 全局变量:定义在上层范围内的变量。环境变量:OS环境变量,如PATH,通过os.environ访问
  • 谢谢你的澄清。
  • 一般来说,“X 和 Y 有什么区别”的问题对程序员来说不是很有用。大多数时候,X 和 Y 没有有意义的相关,所以它实际上归结为一个模糊的要求来解释 X 和解释 Y。这将是两个问题,这两个问题都不够具体对于堆栈溢出。即使存在重要的联系,真正的潜在问题通常是“我如何选择使用哪个?”,或者“我已经了解 X;我如何通过类比(或相反)来理解 Y”?这两者都需要更具体的上下文。

标签: python shell environment-variables global-variables


【解决方案1】:

它们的意思不同。 “全局”是一种编程语言思想,“环境变量”是一种操作系统思想。所以,它们并不是真正相关的,而且在概念上完全不同!

既然你现在知道了,而且这两个术语都很容易研究(维基百科上的“环境变量”,Python.org 语言教程上的全局变量),我不打算在这里写两个完全不相关的主题的介绍 -简直再好不过了。

请注意,作为 Python 初学者,您将不必经常处理显式全局变量。事实上,global 通常是您应该避免的关键字,它通常表明您忘记正确思考函数的输入和输出。

【讨论】:

    【解决方案2】:

    我也是python初学者。

    基本上,环境变量只适用于它们的“容器”(即函数、类等),而全局变量在整个脚本中都有效。

    【讨论】:

    • 您将局部变量与环境变量混淆了。本地变量就是你所描述的,操作系统上的环境变量。
    猜你喜欢
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多