원리를 정확하게 아는 것은 아니지만, 파이썬은 전역변수에 대한 접근 방식이 조금 다른 것 정도로만 알고있습니다.
일단 제가 알고 있는 사실은 다음과 같습니다.
1. 변수 '접근'은 global 없이 가능하다.
2. iterable하면서 수정 가능한 객체는 global 없이 수정이 가능하다.
3. 일반 변수는 global 없이 수정이 불가능하다.
1260번 - DFS와 BFS
원리를 정확하게 아는 것은 아니지만, 파이썬은 전역변수에 대한 접근 방식이 조금 다른 것 정도로만 알고있습니다.
일단 제가 알고 있는 사실은 다음과 같습니다.
1. 변수 '접근'은 global 없이 가능하다.
2. iterable하면서 수정 가능한 객체는 global 없이 수정이 가능하다.
3. 일반 변수는 global 없이 수정이 불가능하다.
생각해보니 2번에서 꼭 iterable할 필요 없이, 객체의 값은 수정이 가능할 겁니다.
넵. 리스트, 셋, 딕셔너리, 그리고 스스로 정의한 객체 등등은 전역변수 지정하지 않아도 변경 가능합니다.
댓글을 작성하려면 로그인해야 합니다.
osh1795 2년 전
제가 이 문제를 풀고 다른 풀이도 궁금하여 공부하던 중에 궁금한게 생겨서 질문합니다.
코드#1을 보면 def하고 visited 리스트를 불러오거나 global하지 않았음에도 사용이 가능한 이유가 궁금합니다.
그 아래는 파라미터에 넣지도 않고, global을 사용하지도 않았을 때 오류가 발생한 코드입니다.
코드#2에서는 리스트나 str, int가 불러와지지 않고 오류가 발생한 이유가 궁금합니다.