잡다한 내용

파이썬 global에 관하여

yolang 2024. 11. 7. 14:32
728x90

오늘 코딩을 하다 list 수정에 대해서는 함수 안에 global로 선언하지 않아도 작동하고

int 변수의 경우에는 global로 알려줘야지만 함수 안에서 사용할 수 있었다. 

 

왜 그 럴 까

 

정답은 가변객체, 불변객체에 있었다. 

가변객체 : list, dict

불변객체 : int, str, tuple, float

 

int는 불변객체로 수정하려면 재할당을 해야한다.

이때 문제가 생기는 것인데, 전역변수를 주소값을 참조하고 수정하려면 global 선언이 되어 있어야 한다.

 

반면에 list 는 가변객체로 list 자체의 주소값은 변하지 않아

수정할 때도 global 선언이 되어 있지 않아도 된다는 점~~

 

새로운 것을 알았다.

728x90