相同的变量名,但在两个单独的“ def”函数中具有不同的值。他们不能以某种方式更改代码吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相同的变量名,但在两个单独的“ def”函数中具有不同的值。他们不能以某种方式更改代码吗?相关的知识,希望对你有一定的参考价值。

简短示例:

def Tk1():
    x = 1

def Tk2():
    x = 2

我希望“ x”不将代码转换为后续变量。我可以同时将两个“ x”分配给不同的值,并且不弄乱def中的代码吗?

答案

是的,在函数中为defined的变量在该特定函数中将始终保持不变,但是,如果您在两个函数之外定义它,则值可以根据您首先调用的函数而改变:

a = 0

def f_a():
    a = 10
    return a

def f_b():
    a = 4
    return a

print(f_a())
print(f_b())

将返回此结果:

10
4

您在问题中的显示方式defines函数内部的变量,表示该变量位于该特定函数的本地。请注意,它不是全局变量。

以上是关于相同的变量名,但在两个单独的“ def”函数中具有不同的值。他们不能以某种方式更改代码吗?的主要内容,如果未能解决你的问题,请参考以下文章

Pygame - 在保持单独功能的同时创建具有相同功能的多行

作用域闭包globalnonlocal

如何重构一个使用相同函数的promise catch,但在调用函数中也是一个变量?

函数,以及三元运算符

如何附加多个具有相同变量名的 .mat 文件?

函数基础