공부/Python

    [python] Class 변수 탐구

    Class 에 대해 알아보다 인터넷에서 조금 이상한 코드를 발견하였다. class Car: color = "" #인스턴스 변수 speed = 0 # 인스턴스 변수 count = 0 # 클래스 변수 def __init__(self): self.speed = 0 Car.count += 1 # 변수 선언 myCar1, myCar2 = None, None # 메인 코드 부분 myCar1 = Car() myCar1.speed = 30 print("%dkm, %d"%(myCar1.speed, Car.count)) myCar2 = Car() myCar2.speed = 60 print("%dkm, %d"%(myCar2.speed, myCar2.count)) # 결과 # 30km, 1 # 60km, 2 자 이 코드로 C..

    [Python] mutable 과 immutable (Python의 포인터, 변수에 관한 이야기)

    C언어로 코딩을 처음 배운 필자는 항상 궁금한 것이 있었다. C언어의 경우 function(int argument1, int* argument2) 와 같이 포인터를 명시적으로 해주어 function에서 수정이 일어날 경우 이 함수를 호출한 Caller의 변수들에 영향을 줄지 예상하기가 쉬웠다. 하지만 Python의 경우 어떤방식으로 진행되는지 헷갈렸다. 그래서 이 글을 써보게 되었다. 파이썬은 포인터가 없는 것일까? (이 글은 https://realpython.com/pointers-in-python/ 를 일부 reference해서 쓰여진 글이다. 혹시 헷갈리는 부분들이나 더 알고 싶은 부분들이 있다면 이 글을 읽어보도록 하자!) 결론부터 이야기하면, "Don't really exist"이다. 차차 알아..