변수의 개념과 활용
변수는 값을 저장하는 데 사용되며, 이름을 가지고 있다. 파이썬에서 변수를 사용할 때에는 다음과 같은 규칙을 따른다.
- 변수 이름은 영문자(대소문자 구분), 숫자, 밑줄(_)로 구성될 수 있다.
- 변수 이름은 숫자로 시작할 수 없다.
- 예약어(Reserved words)는 변수 이름으로 사용할 수 없다.
변수는 값을 할당함으로써 생성되고, 값을 변경하거나 참조할 수 있으며, 변수에 값을 할당할 때에는 할당 연산자인 등호(=)를 사용한다.
# 정수형 변수 선언과 할당
age = 23
# 실수형 변수 선언과 할당
weight = 60
# 문자열 변수 선언과 할당
name = "Isaac"
파이썬은 다양한 데이터 타입을 지원하며, 일반적인 데이터 타입으로는 정수형(int), 실수형(float), 문자열(str), 불린(bool) 등이 있다.
데이터 타입의 종류
숫자형 데이터 타입
- 정수형(int): 정수 값을 저장하는 데이터 타입
- 실수형(float): 소수점을 포함하는 실수 값을 저장하는 데이터 타입
문자열 데이터 타입
문자열 데이터 타입은 텍스트를 저장하는 데 사용된다. 파이썬에서 문자열은 작은 따옴표(')나 큰 따옴표(")로 둘러싸인 텍스트로 표현되며, name = "Isaac"과 같이 문자열 값을 변수에 할당할 수 있다.
문자열은 문자들의 시퀀스로 각 문자에 인덱스를 사용하여 접근할 수 있다. 예를 들어, name[0]은 첫 번째 문자인 "I"를 나타낸다.
불린 데이터 타입
불린 데이터 타입은 True 또는 False 값을 저장하는 데 사용된다. 조건문과 논리 연산에서 주로 활용되며, 프로그램의 흐름을 제어하는 데에도 이용된다. 예를 들어, is_active = True와 같이 불린 값을 변수에 할당할 수 있다.
변수와 데이터 타입의 유연성
파이썬은 동적 타이핑(dynamic typing) 언어로서, 변수의 데이터 타입을 명시적으로 지정하지 않아도 된다. 변수를 선언하고 값을 할당할 때, 파이썬은 자동으로 해당 값의 데이터 타입을 추론한다. 이는 프로그래머에게 유연성을 제공하며, 코드 작성을 간편하게 만든다.
age = 25 # 정수형
weight = 62.5 # 실수형
name = "John" # 문자열
is_active = True # 불린
변수는 값을 변경할 수 있으므로, 필요에 따라 동일한 변수에 다른 타입의 값을 할당할 수도 있다.
변수의 스코프(scope)
변수의 스코프는 변수가 유효한 범위를 의미한다.
- 전역 스코프(Global scope): 전역 스코프는 프로그램 전체에서 접근 가능한 범위를 의미한다. 즉, 전역 스코프에서 정의된 변수는 어디서든지 사용할 수 있다.
- 지역 스코프(Local scope): 지역 스코프는 특정한 블록 내에서 변수가 유효한 범위를 의미한다. 함수 내부에서 정의된 변수는 해당 함수 내에서만 사용할 수 있다.
스코프는 변수의 선언 위치와 관련이 있으며, 변수는 가장 가까운 스코프에서 먼저 찾게 된다. 만약 지역 스코프에서 변수를 찾지 못하면 전역 스코프에서 변수를 찾게 된다.
형 변환(Type Casting)
파이썬에서 형 변환은 변수의 데이터 타입을 다른 타입으로 변환하는 것을 의미한다. 일부 연산이나 함수 호출에서 데이터 타입이 호환되지 않을 때 형 변환을 사용하여 데이터를 원하는 타입으로 변환할 수 있으며, 정수형 변수를 실수형으로 변환하거나, 숫자로 구성된 문자열을 정수형으로 변환하는 등의 형 변환이 가능하다.
- int(): 다른 데이터 타입을 정수형으로 변환
- float(): 다른 데이터 타입을 실수형으로 변환
- str(): 다른 데이터 타입을 문자열로 변환
- bool(): 다른 데이터 타입을 불린형으로 변환
데이터 구조(Data Structures)
데이터 구조는 데이터를 저장하고 조직화하는 방법을 나타낸다.
리스트(List)
리스트는 여러 개의 요소를 순서대로 저장하는 데이터 타입이다. 대괄호([])로 표현되며, 각 요소는 쉼표로 구분된다.
리스트는 인덱스를 통해 각 요소에 접근할 수 있고, 값의 변경이 가능하다.
# 빈 리스트 생성
my_list = []
# 요소가 있는 리스트 생성
fruits = ["apple", "banana", "orange"]
# 인덱스를 통한 접근
print(fruits[0]) # 출력: "apple"
# 요소 추가
fruits.append("grape")
# 요소 변경
fruits[1] = "cherry"
# 리스트 길이 확인
length = len(fruits)
튜플(Tuple)
튜플은 리스트와 유사한 데이터 타입으로, 요소를 순서대로 저장한다. 하지만 튜플은 한 번 생성된 후에는 수정할 수 없는(immutable) 특성을 가진다.
튜블은 소괄호(())로 표현되며, 각 요소는 쉼표로 구분된다.
# 요소가 있는 튜플 생성
point = (10, 20)
# 인덱스를 통한 접근
print(point[0]) # 출력: 10
# 튜플 언패킹
x, y = point
print(x, y) # 출력: 10 20
딕셔너리(Dictionary)
딕셔너리는 키(key)와 값(value)의 쌍으로 데이터를 저장하는 데이터 타입으로, 키를 통해 값을 참조하고, 값의 변경이 가능하다.
딕셔너리는 중괄호({})로 표현되며, 각 키와 값은 콜론(:)으로 구분되고, 쌍은 쉼표로 구분된다.
# 빈 딕셔너리 생성
my_dict = {}
# 요소가 있는 딕셔너리 생성
person = {
"name": "John",
"age": 25,
"city": "New York"
}
# 값 참조
print(person["name"]) # 출력: "John"
# 값 변경
person["age"] = 30
# 새로운 키와 값 추가
person["gender"] = "Male"
# 딕셔너리의 키와 값 순회
for key, value in person.items():
print(key, value)
집합(Set)
집합은 고유한 값을 순서 없이 저장하는 데이터 타입으로, 중복된 값을 허용하지 않으며, 집합 연산(합집합, 교집합, 차집합 등)을 지원한다.
집합은 중괄호({})로 표현되며, 각 요소는 쉼표로 구분된다.
# 빈 집합 생성
my_set = set()
# 요소가 있는 집합 생성
fruits = {"apple", "banana", "orange"}
# 요소 추가
fruits.add("grape")
# 요소 제거
fruits.remove("banana")
# 집합 연산
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2) # 합집합
intersection_set = set1.intersection(set2) # 교집합
difference_set = set1.difference(set2) # 차집합
파이썬에서는 다양한 내장 함수와 메서드를 활용하여 데이터를 조작하고 처리하여 다양한 데이터 구조와 알고리즘을 구현할 수 있다.
주석
# 한 줄 주석
"""
여러 줄 주석
"""
주석은 파이썬 코드에서 설명이나 메모를 작성하는 데 사용된다. 주석은 프로그램의 실행에 영향을 주지 않으며, 코드를 이해하는 데 도움을 주는 역할을 한다. 주석은 # 기호로 시작하며, 한 줄 주석과 여러 줄 주석으로 작성할 수 있다.