【问题标题】:Changing Integer Python [duplicate]更改整数 Python [重复]
【发布时间】:2020-08-30 13:31:51
【问题描述】:

大家好,这是一个简单而快速的问题。我有一个函数,我需要在每个操作中添加数字。但是我已经写了一个脚本,它每次都重置为 0。我已经知道错误是每次都声明 0 但是我不知道如何解决这个问题。 ~ 这是一个帮助示例:

valid = 0
connection_error = 0
def seesite():
  global valid
  global connection_error
  valid = 0
  connection_error = 0
  try:
    requests.get("https://google.com")
    valid += 1
    print(f"Valid requests: {valid}")
  except:
    error += 1
    print(f"Invalid requests: {invalid}")

~ 但是,我想在不重置值的情况下执行此操作。有什么想法吗?

【问题讨论】:

  • 那不是有效的python。你能用实际代码而不是伪代码创建一个例子吗?
  • 这只是一个例子 :) 我想做这样的事情。
  • 最好的方法是跟踪函数外的总数
  • 并使用全局标识符?
  • 尝试将 value 声明为全局变量或 retuen value 并每次将其传递给函数。

标签: python


【解决方案1】:

使用numfunc.value,在函数定义后定义numfunc.value。这模拟了静态函数变量:

def numfunc():
    print(numfunc.value)
    numfunc.value += 1
numfunc.value = 0

numfunc() # 0
numfunc() # 1

请注意,这与全局变量相比并没有真正的优势。它只是将变量放入函数的命名空间而不是全局命名空间,具有相同的可访问性(因为 Python 中没有“私有”或“受保护”)。

【讨论】:

  • 我将这些确切的行复制并粘贴到我的解释器中,它们很好。
  • 是的,很抱歉!忘记添加功能标识符 facepalm
猜你喜欢
  • 1970-01-01
  • 2016-10-03
  • 1970-01-01
  • 2013-04-14
  • 2011-10-29
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多