首页 > 解决方案 > 如何在python中为函数参数赋值

问题描述

我想在函数中初始化一个变量(以便我的示例中的最终打印语句输出 10):

def init_param(param):
    param = 10

n = 1
init_param(n)
print n                   # prints 1

这在python中可行吗?

标签: python

解决方案


参数在函数内部分配,因为它是局部变量。所以所有的原则都适用于此。

  • 不可变对象无法更改。
  • 可变对象可以就地修改。

您正在缩进以修改不可变对象,这是不可能的。所以你唯一的选择是: -

def init_param(param):
    param = 10
    return param

n = 1
n = init_param(n)
print n

这几乎没用,或者

def init_param(param):
    param[0] = 10

n = [1]
init_param(n)
print n   

推荐阅读