본문 바로가기
프로그래밍/PYTHON

[3일차] python 변수 / 지정문(동시, 중복)

by B T Y 2017. 2. 10.
반응형

python 변수 / 지정문(동시, 중복)에 대해서 정리한다



python에서 이때까지 다루었던 3333, 'Hello, World!' 같은 숫자나 문자열을 묶어서 상수(Constant)라고 한다


이러한 상수를 문자안에 넣어서 사용할수 있는데 이런걸 '변수(Variable)'라고 한다







※ 변수(Variable)


- 상수가 숫자, 문자열 기호를 통해서 값을 즉시 나타낼수 있다고 한다면

변수는 변수라는 문자안에 값을 집어넣은후에 쓸수 있도록 해준다

( 하나의 값(데이터)을 넣을수 있는 공간을 제공한다고 생각하면 된다 )


즉, 쉽게 말해 변수는 값을 저장하기 위한 용도로 사용된다


- 변수의 값은 언제든지 재지정 될수 있다 (가변적)


- python에서 변수의 자료형은 값이 입력(할당)될때 결정된다

( 미리 변수 앞에 저장할 값의 자료형을 지정해주는 언어들도 있다 )





* 위에서처럼 숫자 2를 상수 형태로 바로 값을 입력해서 출력 해줄수도 있지만

'two' 와 같은 변수를 만들어 그 안에 숫자 2라는 값을 할당해서

2라는 값이 들어있는 'two' 변수 자체를 출력해줘도 값은 동일하게 출력된다


* 'two'라는 변수에는 숫자 2가 할당 되었기 때문에 type() 함수로 변수에 자료형을 알아보면

int형이라고 나오는걸 알수 있다

( 'two' 라는 함수에 'Hello'와 같은 문자를 넣었다면 'two' 변수의 자료형은 문자열형이 된다 )





( 변수의 값을 저장하는 성격을 이용해서 

count 라는 변수를 만들어서 할당 연산자로 값을 계속해서 누적시킬수 있다 )





- 변수의 이름에 관련된 규칙


1. 강제적 규칙


1). 변수의 이름은 반드시 문자로 시작해야 한다

( 변수명을 지을때 시작은 항상 문자( 한글도 가능 )로 시작해주고 숫자로 시작은 불가능하다 )


2). 변수의 이름에는 특수문자를 사용할 수 없다 (공백도 불가능하다)

※ 예외적으로 언더바( _ )는 사용이 가능하다


3). python에서 미리 용도가 정해진 문자는 사용할 수 없다 (예약어 사용 불가능)

※ 변수를 선언시 글자색 참고 ( 검은색 -> 사용가능, 보라색 -> 쓸수는 있지만 나중에 문제가 생길수 있다, 주황색 -> 사용불가)




( 강제적 규칙을 눈으로 확인하기 위해 python shell을 이용해서 결과들을 출력했다 )




2. 암묵적 규칙

( 꼭 지켜야 할 규칙은 아니지만 지켜주면 좋은 규칙 )


1). 변수의 이름은 소문자로 시작한다

( 클래스 같은 경우 암묵적으로 대문자를 사용하는 경우가 있기 때문에

서로간의 명확한 구분을 위해 지켜주는게 좋다 )


2). 변수의 이름은 반드시 의미를 가질수 있도록 작성한다

( 변수를 무의미한 문자로 선언하면 프로그램에 크기가 커지면 커질수록 

이 변수가 어떤일을 하는지 파악하기가 힘들어진다 )


※ 예외적으로 이미 오랫동안 사용해오던 문자는 그 의미와 똑같이 사용이 가능하다 (수학 문자)

예) - 미지수: x

- 좌표: x, y, z

- 임의의 정수: n, m, N

- 인자: a, b, c


4). 여러 단어를 사용하는 경우 단어와 단어 사이는 _나 대문자로 구분 해주는 것이 좋다

예) 사과의 갯수 (num of apple) 

-> num_of_apple = 10 이나 numOfApple = 10








※ 지정문, 대입문, 배정문 ( assignment statement )


- 연산자: = ( python에서 사용하는 연산자들 중에서 우선순위가 가장 낮다 )





※ 중복 지정문, 동시 지정문


- 중복 지정문

예) a = b = c = 10


- 동시 지정문

예) a, b = 10, 20




* 중복 지정문을 사용하면 보통 할당 순서 방향이 오른쪽에서 왼쪽으로 가기 때문에 a, b, c에 모두 10이 들어간다


* 동시 지정문은 스왑(swap)과 같이 a, b에 들어있는 값을 서로에게 옮길때 사용이 된다

( 동시 지정문 덕분에 python에서는 스왑(swap) 과정이 한줄에 끝이 난다 )




반응형

댓글