KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to understand Python's approach to variable scope. In this example, why is f() able to alter the value of x , as perceived within main() , but not the value of n ? def f(n, x): n = 2 x.append(4) print('In f():', n, x) def main(): n = 1 x = [0,1,2,3] print('Before:', n, x) f(n, x) print('After: ', n, x) main() Output: Before: 1 [0, 1, 2, 3] In f(): 2 [0, 1, 2, 3, 4] After: 1 [0, 1, 2, 3, 4] See also: How do I pass a variable by reference? Are Python variables pointers? Or else, what are they?
Tags (comma-separated)
Save Edits
Cancel