2024-06-08 15:52:01 发布
网友
我是Python的新手。这是我遇到的一个问题。你知道吗
假设有一个名为set1(x)的函数。你知道吗
set1(x)
代码如下:
def set1(x): x = 1;
当我做这个的时候
m = 5 set1(m) m
m的值仍然是5。你知道吗
m
因此,如果我希望在调用set1()函数时参数变为1,那么应该如何编写函数?你知道吗
set1()
函数使用一个局部名称空间来声明它们的变量,这意味着在大多数情况下,当您将参数传递给函数时,它不会影响函数外部的参数(在全局名称空间中)。因此,当值在函数内更改时,它不会在函数外更改。你知道吗
如果希望函数更改值,则需要返回如下值:
def set1(x): x=1 return x >>> m=5 >>> m = set1(m) >>> m 1
这就是说,如果你的论点是可变的,它可以改变。你知道吗
def set2(x): x[0] = 1 >>> m = [2] >>> set2(m) >>> m[0] 1
您可以返回值
def set1(): return 1;
并称之为
m=5 m = set1() print (m)
它将打印1
1
另一种方法是使之成为global,但不好的方法
global
def set1(): global m m = 1
函数使用一个局部名称空间来声明它们的变量,这意味着在大多数情况下,当您将参数传递给函数时,它不会影响函数外部的参数(在全局名称空间中)。因此,当值在函数内更改时,它不会在函数外更改。你知道吗
如果希望函数更改值,则需要返回如下值:
这就是说,如果你的论点是可变的,它可以改变。你知道吗
您可以返回值
并称之为
它将打印
1
另一种方法是使之成为
global
,但不好的方法相关问题 更多 >
编程相关推荐