Programming/Python(3)
-
[PYTHON] nonlocal variable 이해하기 (+예제)🌱
nonlocal variable outer function 안이면서 inner function 밖의 영역의 변수 (local도 global도 아닌 nonlocal) python에서는 외부 영역의 변수에 대해 읽기는 가능하나 쓰기는 제한적 이때 nonlocal 예약어를 사용하면 inner function에서 nonlocal variable 수정 가능 # nonlocal 사용 예시 def outer(): temp = 10 def inner(): nonlocal temp temp += 10 print(temp) inner() print(temp) outer() # 20 # 20 ✔ 예제) 프로그래머스 모음 사전 def solution(name): temp = ['A', 'E', 'I', 'O', 'U'] co..
2024.01.12 -
[PYTHON] shallow copy와 deep copy를 알아보자 🌱
가변객체 파이썬의 객체는 가변객체(mutable)와 불변(immutable) 객체로 나뉜다. 가변객체에는 list, set, dict 등이 있으며, 불변객체와 달리 값을 수정하더라도 메모리주소가 바뀌지 않는다는 특징이 있다. 가변객체를 copy 할때의 주의사항과 shallow copy, deep copy에 대해 알아보자. copy a_list를 만든 후 b_list에 할당하고 메모리 주소값을 출력해 보았다. a_list = [1, 2, 3, [4, 5, 6], [7, 8, 9]] b_list = a_list print('Ex1 > ', id(a_list)) print('Ex1 > ', id(b_list)) # Ex1 > 2736207102336 # Ex1 > 2736207102336 b_list[2] =..
2023.08.28 -
[PYTHON] Variable Scope를 알아보자 🌱
Variable Scope 말 그대로 변수의 영역을 말한다. 컴퓨터 프로그래밍에서 변수 영역은 변수가 유효성을 갖는 영역을 가리킨다. 프로그램은 영역을 벗어난 변수를 가리킬 수 없다(위키백과). 파이썬에서 변수는 세가지 영역으로 선언할 수 있다. Global Variable Local Variable Nonlocal Variable Global Variable 전역 변수는 주로 변하지 않는 값을 선언할 때 사용한다. 함수 안과 밖에서 모두 읽을 수 있다. a = 10 def foo(): print ('Ex1 > ', a) foo() # Ex1 > 10 print ('Ex1 > ', a) # Ex1 > 10 단, 아래와 같이 함수 내에서 전역 변수 값을 변경할 수 는 없다. 값을 변경하고 싶은 경우 함수 ..
2023.08.21