변수? 변하는, 변동성이 있는 수를 말하는 건가?
오늘은 파이썬의 기본 개념인 변수의 개념과 사용 방법에 대해 알아보자.
오늘의 배움 |
|
변수란?
변수는 프로그램에서 다루는 어떤 자료(정보)를 담는 공간이다.
예를 들어, 친구의 이름을 저장하는 공간이라고 생각하면 쉽게 이해할 수 있다.
변수 생성 방법
변수명 = 자료
(좌항)에는 변수의 이름, (우항)에는 변수에 담을 자료를 작성한다.
파이썬은 변수의 자료형을 선언할 필요가 없어서 유연하게 사용할 수 있다.
# 친구의 이름을 담는 변수 생성
friend_name = "다람쥐"
print(friend_name) # 출력: 다람쥐
# 변수의 값을 변경하는 것도 같은 방식으로 가능
friend_name = "오지라퍼스"
print(friend_name) # 출력: 오지라퍼스
대입 연산자
대입 연산자 =는 우항의 값을 좌항의 변수에 대입하는 역할을 한다.
# 좌항은 변수명, 우항은 원시 문자열로 표현된 자료
team_name = "ohgiraffers"
# 좌항은 변수명, 우항은 team_name 변수에 담긴 값
my_team = team_name
print(my_team) # 출력: ohgiraffers
변수 이름 명명 규칙
1. 변수명은 변수에 담긴 값이 무엇인지 직관적으로 알 수 있게 작성해야 한다.
예를 들어, 키 정보를 담을 경우 height와 같은 변수명을 사용하는 것이 좋다.
# 키(cm) 정보를 변수에 담아보세요
height = 207.3 # 좋은 예
a = 171.8 # 나쁜 예 (의미가 불분명)
2. 변수명은 스네이크 케이스(소문자+언더바)로 작성하며, 대소문자를 구별한다.
따라서 team_name과 Team_name은 서로 다른 변수로 인식된다.
team_name = "오지라퍼스"
print(team_name) # 출력: 오지라퍼스
Team_name = "Ohgiraffers"
print(Team_name) # 출력: Ohgiraffers
3. 한글 변수명도 사용할 수 있지만, 인코딩 문제로 사용을 지양하는 것이 좋다.
우리팀 = "오지라퍼스"
print(우리팀) # 출력: 오지라퍼스
문법 오류를 야기하는 규칙
- 변수명은 숫자를 첫 글자로 사용할 수 없다.
- 언더바(_)를 제외한 특수 문자는 사용할 수 없다.
- 파이썬 예약어는 변수명으로 사용할 수 없다.
team_1_name = "오지라퍼스" # 올바른 예
# 1_team_name = "오지라퍼스" # 오류 발생
# team_@_name = "오지라퍼스" # 오류 발생
# else = "오지라퍼스" # 오류 발생
파이썬의 언더스코어 (_)
1. 언더스코어는 특별한 기능을 제공한다. 마지막으로 실행된 값을 저장할 때 사용되며, 이 값을 연산에 활용할 수 있다.
10
print(_) # 10
print(_ * 3) # 30
2. 값을 무시하고 싶을 때 특정 값을 무시하기 위한 용도로 사용할 수 있다.
x, _, z = (1, 2, 3)
print(x) # 1
print(z) # 3
3. 변수나 함수명에 특별한 의미 또는 기능을 부여하고자 할 때 사용할 수 있다.
- 변수, 함수, 클래스, 메소드를 선언할 때 _로 시작하는 것들은 import에서 무시된다.
- 파이썬은 private를 지원하지 않고 있지만, 위와 같이 사용함으로써 private 선언 컨벤션처럼 쓸 수 있다. (하지만 private과 동일한 기능을 하는 것은 아니므로, import에서는 무시되지만 직접 가져다 쓰는 등 호출은 가능하다.)
_internal_name = 'one_module' # private 변수처럼 선언
_internal_version = '1.0' # private 변수처럼 선언
4. 숫자 리터럴 값의 자릿수 구분을 위한 구분자로 사용할 수 있다.
(Python 3.6 에서 추가된 문법으로, 언더스코어를 이용해 자릿수를 구분할 수 있다.)
million = 1_000_000
print(million) # 1000000
5. 파이썬 키워드, 모듈명 충돌을 회피하기 위해 마지막에 _를 붙여줄 수 있다.
for_ = 'for blah'
print(for_)
6. 스폐셜 변수, 매직 메소드 등에 사용하기도 한다.
class _A:
def __init__(self):
self.__foo = 'foo'
self.bar = 'bar'
def foo(self):
return self.__foo
def _good_morning(self):
return self.bar * 10
def hello(self):
return self._good_morning()
a = _A()
a.__init__
a.__str__
a.__eq__ # a == b라는 식이 수행될 때 실행되는 스페셜 메서드
변수는 마치 디자인에서 레이어처럼, 정보를 담고 있는 그릇의 역할을 한다. 각 레이어가 서로 다른 정보를 담고 있듯, 변수도 다양한 자료를 저장할 수 있는 것이다.
변수명 짓기와 자료형에 대한 규칙을 잘 지켜야 코드가 잘 작동한다는 것을 깨달았다.
다음 시간에는 '기본 자료형'에 대해 알아보자.
'Develop > Python' 카테고리의 다른 글
변수와 자료형 - 기본 자료형 (3) | 2025.01.01 |
---|---|
VScode 알아보기 (0) | 2024.12.30 |
JupyterNotebook 알아보자 (0) | 2024.12.30 |
개발환경 구축 - 가상환경(Anaconda) 설치 (0) | 2024.12.29 |
Python 파이썬이란 무엇인가? (0) | 2024.12.29 |