age = 42
first_name = 'Ahmed'변수와 할당
Tip학습 목표
- 변수에 값을 할당하고 이를 사용하여 계산을 수행하는 프로그램을 작성합니다.
- 프로그램 실행에 따른 변수 값의 변화를 추적합니다.
Note질문
- 데이터를 어떻게 변수에 저장하고 관리하나요?
변수를 사용하여 값을 저장합니다.
- 변수(Variables)는 값에 붙이는 이름입니다.
- 변수명 규칙:
- 문자, 숫자, 밑줄(
_)만 포함할 수 있습니다. - 숫자로 시작할 수 없습니다.
- 대소문자를 구분합니다 (
age,Age,AGE는 모두 다른 변수입니다).
- 문자, 숫자, 밑줄(
- 변수 이름은 코드의 의도를 파악할 수 있도록 의미 있게 짓는 것이 좋습니다.
- 파이썬에서
=기호는 오른쪽에 있는 값을 왼쪽에 있는 변수에 할당(대입)한다는 의미입니다.
print를 사용하여 값을 출력합니다.
print()함수는 전달받은 값을 화면에 출력합니다.- 함수를 실행하는 것을 호출(call)한다고 하며, 괄호 안에 전달하는 값을 인수(arguments)라고 합니다.
print(first_name, 'is', age, 'years old')Ahmed is 42 years old
print는 여러 인수를 출력할 때 사이에 공백을 자동으로 추가하며, 출력이 끝나면 줄을 바꿉니다.
변수는 사용하기 전에 정의되어야 합니다.
- 정의되지 않은 변수를 사용하거나 이름을 잘못 입력하면 파이썬은 오류를 발생시킵니다.
# print(last_name) # NameError 발생
NoteJupyter Notebook의 실행 순서
Jupyter Notebook에서는 셀의 위치보다 실행된 순서가 중요합니다. 이전에 실행한 셀에서 정의된 변수는 메모리에 유지되어 다른 셀에서도 사용할 수 있습니다. 실행 순서가 꼬여 혼란스러울 때는 Kernel -> Restart & Run All을 사용하여 모든 변수를 초기화하고 처음부터 순서대로 실행해 보는 것이 좋습니다.
변수를 사용한 계산
- 변수를 마치 실제 값처럼 계산식에 사용할 수 있습니다.
age = age + 3
print('Age in three years:', age)Age in three years: 45
인덱스(Index)를 이용한 문자 추출
- 문자열 내의 각 문자는 고유한 위치 번호를 가지며, 이를 인덱스(index)라고 합니다.
- 인덱스는 0부터 시작합니다.
- 대괄호
[]안에 인덱스 번호를 넣어 특정 위치의 문자 하나를 가져올 수 있습니다.
atom_name = 'helium'
print(atom_name[0])h
슬라이스(Slice)를 이용한 부분 문자열 추출
- 문자열의 일부분을 추출한 것을 부분 문자열(substring)이라고 합니다.
[start:stop]표기법을 사용하여 슬라이싱합니다.start인덱스부터stop인덱스 직전까지의 문자를 가져옵니다.- 슬라이싱을 해도 원본 문자열은 변하지 않으며, 지정된 범위의 복사본을 반환합니다.
atom_name = 'sodium'
print(atom_name[0:3]) # 인덱스 0, 1, 2에 해당하는 'sod' 추출sod
문자열 길이 확인: len
len()함수는 문자열에 포함된 문자의 총 개수를 반환합니다.
print(len('helium'))6
의미 있는 변수명 사용하기
- 파이썬 문법만 지킨다면 어떤 이름이든 가능하지만, 자신과 동료가 코드를 쉽게 이해할 수 있도록 명확한 이름을 사용해야 합니다.
# 좋지 않은 예
flabadab = 42
# 좋은 예
age = 42
Important연습 문제
두 변수의 값 맞교환(swap)하기
다음 코드가 실행됨에 따라 변수 x와 y의 값이 어떻게 변하는지 추적해 보세요.
x = 1.0
y = 3.0
swap = x
x = y
y = swap
Caution해답
최종적으로 x는 3.0, y는 1.0이 됩니다. swap이라는 임시 변수를 사용하여 두 값을 성공적으로 맞교환했습니다.
Important연습 문제
결과 예측하기
다음 코드를 실행했을 때 position 변수의 최종값은 무엇일까요?
initial = 'left'
position = initial
initial = 'right'
Caution해답
'left'입니다. position = initial이 실행될 당시의 initial 값인 'left'가 복사되어 할당되었기 때문입니다. 이후 initial 값이 바뀌어도 position에는 영향을 주지 않습니다.
Important연습 문제
슬라이싱 연습
species_name = "Acacia buxifolia"일 때 다음 결과는 무엇일까요?
species_name[2:8]species_name[11:]species_name[:4]species_name[:]
Caution해답
'acia b''folia'(끝까지)'Acac'(처음부터)'Acacia buxifolia'(전체 복사)
Note핵심 요약
- 변수를 사용하여 데이터를 저장하고 이름을 붙입니다.
print()함수로 데이터를 출력하고len()으로 길이를 확인합니다.- 인덱싱과 슬라이싱을 통해 문자열의 일부를 추출할 수 있습니다.
- 변수 이름은 대소문자를 구분하며, 의미 있는 이름을 사용하는 것이 권장됩니다.