如何在Python中创建块范围的变量?

2024-04-24 20:20:08 发布

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

使用以下Perl代码:

$a = 5;

if($a == 5)
{
    print $a;
    my $a = 8;
    print $a;
}

print $a;

{{cd2>输出一个新的

我想在Python中做同样的事情,但是:

^{pr2}$

输出

inside function 9
apple

变量bif中被重写。有没有办法在if语句中创建一个局部变量b?我想在if内对局部作用域使用相同的变量名。在


Tags: 代码appleifmyfunction局部语句事情
2条回答

这些代码不是等价的;在Perl代码中,if块内的my创建了一个全新的变量,当包含的块结束时,这个变量就超出了范围。在

您可以使用Python中的上下文管理器执行类似的操作,但语法将大不相同。在

这就是你要找的吗?在

a = 5
b = 9

def my_func(a):
    if a == 5:        
        b = 'apple'
        print("inside function: ", b)

my_func(a)
print("outside function: ", b)

> inside function: apple
> outside function: 9

b是函数my_func内的一个局部变量,它等于apple,而不影响等于9的全局变量{}。在

相关问题 更多 >