我应该如何编写一个函数来将我输入的参数转换为1?

2024-06-08 15:52:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手。这是我遇到的一个问题。你知道吗

假设有一个名为set1(x)的函数。你知道吗

代码如下:

def set1(x):
    x = 1;

当我做这个的时候

m = 5
set1(m)
m

m的值仍然是5。你知道吗

因此,如果我希望在调用set1()函数时参数变为1,那么应该如何编写函数?你知道吗


Tags: 函数代码参数def新手set1
2条回答

函数使用一个局部名称空间来声明它们的变量,这意味着在大多数情况下,当您将参数传递给函数时,它不会影响函数外部的参数(在全局名称空间中)。因此,当值在函数内更改时,它不会在函数外更改。你知道吗

如果希望函数更改值,则需要返回如下值:

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

另一种方法是使之成为global,但不好的方法

def set1():
    global m
    m = 1

相关问题 更多 >