I'm a newbie coder. I find it troublesome to declare a variable in 1 function and not be able to access it in other functions. I have to make many of my variables global just to get my code to work. But a lot of people say that the global state is evil. I don't understand the purpose of having limited scope, anyway.
Scope seems to encourage developers to declare same-name variables in different places.
def func1(): string = 'hello world' ... def func2(): string = 'hello universe' ... Without the need to distinguish variables in different functions, developers name their variables vague and less-meaningful names. Wouldn't it be better to have more specific variable names?
def func1(): world_string = 'hello world' ... def func2(): universe_string = 'hello universe' ... Why is limiting access to variables outside of the block that it's defined in, i.e. scope, a good thing to have in programming languages? As a newbie, I find it convenient to make every variable a global variable. Why is that bad in bigger projects?
ais in eitherfunc1, orfunc2, so why do we have to label it further?