1. 변수 할당 설명
1.1 기본 선언
- 다른 프로그래밍 언어는 변수 타입을 정하고 나서 값을 할당한다.
- 반면에, python은 값을 정하고 나서 변수 타입을 알아서 할당해준다.
- 이 변수를 할당한다는 건 컴퓨터 내부적으로 컴퓨터 메모리의 일부를 할당하는 의미로, ‘고유 주소’가 지정된다는 걸 의미한다.
- 이 ‘고유 주소’는
id
라는 명령어로 확인할 수 있다. - 함수
id
: 객체(object)의 고유값id(identity)
을 확인
|
|
- 결론 : 선언을 한다는 건 메모리 값을 할당하는 걸 의미한다. 이는 id
값을 통해 고유주소
를 확인하여 알 수 있다.
1.2 동시 선언
- 만약 명칭만 다른 세 변수에 동일한 value가 할당된 경우,
id
는 어떻게 나올까?
|
|
- 위 두 질문의 결과는
True
가 나온다. 동일한 값과 type을 가지고 있기 때문에 메모리 주소가 동일하다는 걸 알 수 있다. - 즉, 3개를 선언했지만 실제로 존재하는 건 1개라는 의미다. 파이썬이 하나의 오브젝트로 생성한다.
- 이러한 걸
동시선언
이라고 하며, 파이썬에서는 가능하다. - 이처럼 하나 하나 최적화를 시키면 원활하고 빠른 프로그램 실행 흐름이 가능하다.
- 결론: 여러 변수에 똑같은 값을 할당하면 파이썬은 내부에서 하나만 만들어진다.
추가로 [TIL] Python basic 41: Shallow copy & Deep copy 을 참고하자.
1.3 재선언
- 변수의 명칭은 동일하나 다른 value를 할당해보겠다.
|
|
- 결과는 다음과 같다.
|
|
- data type과 value가 변하자 id값이 달라진 걸 알 수 있다.
- 이것이 가능한 이유가 파이썬에는
garbage collector
가 있기 때문이다. - 실제로
재선언
할 때는 프로그램의 흐름이 끝날 때까지 잘 추적하는 게 중요하다.재선언
을 통해서 프로그램의 흐름이 꼬일 수도 있기 때문이다. - 그래서 큰 project에서는 변수의 사전이 엑셀이나 기타 문서로 존재한다고 한다.
- 결론: 동일한 명칭의 변수여도 할당된 값이 변하면 파이썬이 알아서 id 값을 바꾼다.
추가로 [TIL] Python basic 40: Call by object reference 을 참고하자.
2. Object References
변수가 할당 상태일 때, 아래와 같은 상태가 일어나는 걸 의미한다.
예 : n = 700이라 선언했을 때 다음과 같은 순서로 일어난다.
첫 번째, data type에 맞는 object를 생성한다.
type ()
을 통해서 classint
의 object가 생성된다.
두 번째, 값 생성
- 700을 안에서 생성
세 번째, 콘솔 출력
- 700이 출력된다.
더 다양한 예제를 살펴보자.
|
|
3. 다양한 변수 선언 방법과 예약어
이 규칙으로 변수를 선언하면 세련되고, 코드를 재활용할 때 가독성이 좋은 소스 코드로 만들 수 있다.
3.1 다양한 변수 선언 방법
camelCase : method 및 함수를 선언할 때 사용.
- ex) numberOfCollegeGraduates
PascalCase : 언어 상관 없이 class를 주로 선언할 때 사용.
- ex) NumberOfCollegeGraduates
snake_case: 파이썬에서 변수를 선언 시 사용.
- ex) number_of_college_graduates
Camel과 Pascal의 차이는 첫 문자가 소문자냐 대문자냐의 차이다.
이외에 허용하는 변수 선언법은 다음과 같다.
- 숫자로 시작하지 않는다.
- 변수는 되도록 snake case로 선언한다.
- 예약어 같이 문법에 사용되는 단어는 변수명으로 불가능하다.
|
|
3.2 예약어
- 예약어는
python reserved words
로 검색하면 나온다. - 예약어의 종류는 다음과 같다.
|
|