Возьмем следующий Perl код:Как я могу создать переменные с блочной областью в Python?
$a = 5;
if($a == 5)
{
print $a;
my $a = 8;
print $a;
}
print $a;
Это выводит 585
потому что my $a
создает новую лексическую переменную, которая распространяется до if
блока.
Я хочу сделать то же самое в Python, но это:
a = 5;
b = 9;
if a == 5:
print "inside function", b
b = 'apple';
print b
выходы
inside function 9
apple
Переменная b
переписывается внутри if
. Есть ли способ создать локальную переменную b
внутри инструкции if
? Я хочу использовать одно и то же имя переменной с локальной областью внутри if
.
Блоки Python 'if' находятся в том же объеме, что и их окружение. Если вам нужна новая область, извлеките и вызовите функцию. – jonrsharpe
Спасибо @jonrsharpe за быстрый ответ. но мы не можем использовать функцию каждый раз, когда вы устанавливаете ритуал? нет явного способа сделать его локальным, как «мои» или «местные» вары в других языках? – syam
Что? В общем, вы не нуждаетесь в отдельной области внутри 'if', но ** если вы это делаете **, вы можете создать новую область с функцией. – jonrsharpe