【问题标题】:Python how to mutate a variable in a method call [duplicate]Python如何在方法调用中改变变量[重复]
【发布时间】:2019-03-29 04:08:21
【问题描述】:

是否可以像在 C 和 Java 中一样在 Python 中修改 if 语句、循环和函数调用中的变量?

例如:

i=0
while((i+=1)<10): #invalid syntax
    print(i) 

如果不是,那是为什么?

【问题讨论】:

  • 整数是不可变的。
  • 这两个例子不一样。我怀疑第一个在 C 和/或 Java 中是允许的
  • 不,Python 不允许表达式作为 if 条件,只有语句。
  • @JoranBeasley 我当时纠正了:) 但实际问题的答案仍然是“不,Python 中也不允许”

标签: python python-3.x environment-variables


【解决方案1】:

只要数据类型是可变的

def modified(data):
    data['a'] = 5

x = {'b':7}
modified(x)
print(x)


def increment_a(data):
    data['a'] += 1
    return data['a']

x = {'a':1}
while increment_a(x) < 10:
    print(x)

但是字符串和整数是不可变的

【讨论】:

  • 我不确定这是 OP 的要求。
猜你喜欢
  • 1970-01-01
  • 2020-06-10
  • 1970-01-01
  • 2019-01-01
  • 2013-12-06
  • 2015-06-27
  • 2016-08-06
  • 2014-11-23
  • 1970-01-01
相关资源
最近更新 更多