한입에 먹는 초코파이썬🍪 - (2) 변수 선언 및 할당, 확인

2024. 1. 20. 02:32프로그래밍/한입에 먹는 초코파이썬🍪 - Python 강좌

변수 선언 및 값 할당

수학에서, 변수란 '값이 변하는 수'를 의미한다. 변하지 않는다는 의미인 '상수'의 반대 개념이라고 생각해도 된다.

그리고 컴퓨터 프로그램 안에는 수많은 변수들이 필요하다. 가령 성적을 입력받아 학점을 계산해 주는 프로그램이 있다고 하면, 입력받은 사용자의 이름과 학년, 각 과목별 성적, 학점, 석차 등은 변수로 설정해 주어야 한다. 프로그래머가 임의로 값을 정해놓아서는 안 되고, 프로그램이 사용되는 과정에서 계속해서 그 값이 바뀔 수 있는 데이터들이기 때문이다.

개념 설명은 이 정도만 하도록 하겠다. 만약 변수에 대해 더 자세히 알고 싶으신 분들은 각자 검색해보시길 바란다.

 

파이썬에서 변수를 선언하는 방법에 대해 알아보자.

a = 100					#정수 할당
jungwon_age = 19			#정수 할당
school = '대구과학고등학교'		#문자열 할당

C언어나 java와 같은 다른 프로그래밍 언어들에 비해 파이썬의 변수 선언은 꽤나 간단하다. 만들고 싶은 변수명을 적고 대입연산자(=) 를 이용하여 값을 넣어 줄 수 있다.

위 예제 코드에서는, a라는 이름의 변수에 100이라는 정수 값을, jungwon_age라는 이름의 변수에 19라는 정수 값을, school이라는 이름의 변수에 '대구과학고등학교'라는 문자열 값을 입력시켜 놓은 것이다. 이를 할당이라고도 한다.

 

다른 언어를 먼저 접해 보신 분이라면 파이썬 변수의 자료형에 대해 궁금해 하실 수 있는데, 파이썬은 변수를 선언하면 자동으로 형변환이 이루어진다. 위 예제에서와 같이, 따로 string, int, list, double 등의 키워드를 명시해 주지 않더라도, 변수의 값을 보고 파이썬이 스스로 자료형을 판단하여 저장해준다. 이는 매우 편리하고 강력한 기능이지만 때로는 골칫거리가 될 때도 있다. 변수의 자료형에 대한 자세한 내용은 다음 강의에서 확인할 수 있다.

 

변수 값 확인

이렇게 생성한 변수에 어떤 값이 들어있는지 확인하기 위해서는 print() 함수를 이용하면 된다.

print(a)
print(jungwon_age)
print(school)

이렇게 세 줄의 코드를 추가하자. print()함수는 괄호 안의 인자 값을 화면에 출력해 준다.실행 결과는 다음과 같다.

100
19
대구과학고등학교

 

변수에 새로운 값 할당

변수는 물건을 담는 상자에 비유할 수 있다. 상자 겉에 쓰여있는 이름이 변수명이고, 상자 안에 들어 있는 물건이 변수에 할당된 값이다. 우리가 상자에 담긴 물건을 꺼내고 다른 물건을 대신 넣을 수 있듯이, 변수 역시 그 값을 바꾸는 것이 가능하다.

a = 200
jungwon_age = 20
school = '서울대학교'

이런 코드를 추가해주면 세 개의 변수에 담긴 값들이 업데이트된다. 덮어쓰기 기능과 유사하다.

 

이제 전체 코드를 보자.

a = 100
jungwon_age = 19
school = '대구과학고등학교'

print(a)
print(jungwon_age)
print(school)

a = 200
jungwon_age = 20
school = '서울대학교'

print(a)
print(jungwon_age)
print(school)

위 예제의 실행 결과는 다음과 같다.

100
19
대구과학고등학교
200
20
서울대학교

 

🍪T i p🍪

파이썬에서 변수를 선언할 때 아무 변수명이나 사용할 수 있는 것은 아니다.

변수의 이름으로 사용하기 위해 만족해야 하는 몇 가지 조건이 존재한다.

  • 변수의 이름은 영어 소문자와 대문자, 숫자, 언더바만을 이용해서 구성한다.
  • 키워드를 변수의 이름으로 사용하면 안 된다.
  • 언더바( _ ) 이외의 특수 문자는 사용할 수 없다.
  • 변수의 이름이 숫자로 시작하면 안 된다.
  • 변수의 이름에는 띄어쓰기가 없다. 즉 공백을 넣을 수 없다.

키워드란 간단히 말해서 '이미 예약된 단어' 이다. 파이썬에서 자체적으로 제공하는 함수나 메소드 등의 이름으로 이미 존재하는 것을 사용해서는 안 된다는 의미이다. 대표적인 키워드로는 True, if, return 등이 있다. 더 자세한 내용은 아래 링크를 통해 확인할 수 있다.

https://codetorial.net/python/keywords/index.html

 

그리고, 꼭 불가능한 것은 아니지만 프로그래머들이 관습적으로 지키는 암묵적인 규칙도 존재한다. 협업 시 다음을 꼭 지켜주길 바란다.

  • 변수의 이름을 보고 의미를 쉽게 알 수 있어야 한다.
  • 변수의 이름은 최소 세 글자 이상으로 한다.

 

🍪T i p🍪

변수명을 정할 때 키워드인지 아닌지를 알 수 있는 방법이 있다. keyword라이브러리의 iskeyword()함수를 이용하면 된다.

import keyword

s1 = 'return'
s2 = 'Return'

print(keyword.iskeyword(s1))
print(keyword.iskeyword(s2))

그리고 출력 결과는 다음과 같다.

True
False

 

🍪T i p🍪

파이썬에서 여러 개의 변수를 선언할 때에는,

name = 'jungwon'
age = 19
money = 10000

위와 같은 코드를 다음과 같이 한번에 작성할 수도 있다. 두 경우에서 파이썬은 동일하게 동작한다.

name, age, money = 'jungwon', 19, 10000

 

🍪T i p🍪

파이썬에서 큰따옴표(" ") 와 작은따옴표(' ')의 기능은 완전히 같다. 따라서 위 예제에서 문자열을 쌍따옴표로 감싸도 무방하다. 다만 print() 와 같은 몇몇 함수에서 큰따옴표와 작은따옴표를 동시에 사용하는 경우 문제가 발생할 수 있는데, 자세한 내용과 그에 따른 대응 방법은 이후에 다루겠다.