Chinseok Lee
Jan 4, 2017 · 1 min read

파이썬 클래스의 멤버함수를 아래와 같이 선언하지 않습니다. 일단 샘플코드를 보실까요?

위 코드를 실행하면, 예상과는 다른 실행결과가 나옵니다. user2 의 articles 출력이 뭔가 이상하죠? ['c', 'd'] 만 나와야할터인데, ['a', 'b', 'c', 'd'] 가 나옵니다.

이는 instance variable 선언방식이 잘못 되었기 때문입니다. 위 User 클래스에서의 articles 선언은 Class Variable 입니다. Instance Variable 선언이 아닙니다. 파이썬의 Instance Variable 선언문법은 Java나 C++ 에서의 그것과 다릅니다. 다음과 같이 클래스를 변경하시면 잘 동작합니다.

이제 다시 실행해보면 다음과 같이 의도한 대로 user 에서 [‘c', ‘d'] 만 출력이 되는 것을 확인하실 수 있습니다.

다른 언어와 헷갈리지마세요. :)

AskDjango — http://facebook.com/groups/askdjango

Python with AskDjango

Python with AskDjango

Chinseok Lee

Written by

Python with AskDjango

Python with AskDjango

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade