목차
1. 파이썬 변수와 자료형
1.1 변수
- 값(value)을 담을 수 있는 이름을 가진 메모리 공간
- 변수명은 영문자, 숫자, 언더스코어(_)로 구성되며, 대소문자를 구분한다.
- 변수에 값을 대입할 때는 등호(=)를 사용한다.
- 변수의 자료형은 자동으로 결정되지만, 명시적으로 지정할 수도 있다.
# 변수 선언 및 초기화
x = 10
y = 3.14
z = 'hello'
# 변수에 값 대입
x = 20
# 변수 출력
print(x)
1.2 자료형
- 변수에 담을 수 있는 값의 종류
- 파이썬에는 다양한 자료형이 있지만, 기본 자료형으로는 숫자, 문자열, 불리언(boolean) 자료형이 있다.
- 자료형에 따라 산술 연산이 가능하고, 연산 결과의 자료형도 결정된다.
# 숫자 자료형
x = 10 # 정수형
y = 3.14 # 실수형
# 산술 연산
a = x + y # 실수형
b = x * y # 실수형
c = x // y # 정수형 (나눗셈 몫)
d = x % y # 실수형 (나눗셈 나머지)
# 문자열 자료형
s = 'hello'
# 문자열 연산
t = s + ' world' # 'hello world'
# 불리언 자료형
p = True
q = False
# 논리 연산
r = p and q # False
s = p or q # True
2. 연산자
2.1. 산술 연산자
- 기본적인 사칙연산 (+, -, *, /)과 나머지 연산자(%)를 포함한 연산자
- 연산자 우선순위가 있으며, 괄호를 통해 우선순위를 조정할 수 있다.
- 예시 코드
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333333333333335
print(a % b) # 1
print((a + b) * 2) # 26
2.2. 비교 연산자
- 좌항과 우항의 값을 비교하는 연산자
- 결과는 True나 False로 나타남
- 예시 코드
pythonCopy code
a = 10
b = 3
print(a > b) # True
print(a < b) # False
print(a == b) # False
print(a != b) # True
print(a >= b) # True
print(a <= b) # False
2.3. 논리 연산자
- 논리 값(True나 False)를 연산하는 연산자
- and, or, not으로 구성되어 있음
- and 연산은 모든 항목이 참(True)일 때 참(True)이 됨
- or 연산은 하나 이상의 항목이 참(True)일 때 참(True)이 됨
- not 연산은 논리 값의 부정을 나타내며, 참(True)이면 거짓(False)으로, 거짓(False)이면 참(True)으로 바꿈
- 예시 코드
pythonCopy code
a = 10
b = 3
print(a > 5 and b > 2) # True
print(a < 5 or b > 2) # True
print(not a > b) # False
2.4. 비트 연산자
- 비트 단위로 연산을 수행하는 연산자
- &, |, ^, ~, <<, >>으로 구성되어 있음
- 비트 연산자는 대개 이진수 연산을 위해 사용됨
- 예시 코드
pythonCopy code
a = 10
b = 3
print(a & b) # 2
print(a | b) # 11
print(a ^ b) # 9
print(~a) # -11
print(a << 2) # 40
print(a >> 1) # 5
3. 문자열 처리
3.1 문자열
- 문자들의 나열을 의미하는 자료형
- 작은 따옴표(' ') 혹은 큰 따옴표(" ")로 감싸서 표현한다.
3.2. 슬라이싱
- 문자열에서 일부분을 잘라내는 것을 의미한다.
- 인덱스를 이용하여 문자열의 일부분에 접근할 수 있다.
- [시작 인덱스:끝 인덱스] 형태로 작성한다. (시작 인덱스는 포함, 끝 인덱스는 미포함)
pythonCopy code
string = "hello world"
print(string[0]) # h
print(string[1:5]) # ello
print(string[6:]) # world
3.3. 문자열 처리 함수
- 문자열을 다루는 다양한 함수들이 존재한다.
- 대표적인 문자열 처리 함수는 다음과 같다.
함수 이름 설명
len() | 문자열의 길이를 반환한다. |
count() | 문자열 내 특정 문자(열)의 개수를 반환한다. |
find() | 문자열 내 특정 문자(열)의 인덱스를 반환한다. |
replace() | 문자열 내 특정 문자(열)을 다른 문자(열)로 치환한다. |
split() | 문자열을 특정 문자(열)을 기준으로 나눈다. |
pythonCopy code
string = "hello world"
print(len(string)) # 11
print(string.count('l')) # 3
print(string.find('o')) # 4
print(string.replace('world', 'Python')) # hello Python
print(string.split()) # ['hello', 'world']
3.4. 문자열 포맷
- 문자열 내 특정한 값을 변수와 결합하여 동적으로 문자열을 생성하는 방법이다.
- % 기호를 이용하여 문자열 포맷 코드와 함께 문자열에 포함할 변수를 나열한다.
포맷 코드 설명
%s | 문자열 |
%c | 문자 1개 |
%d | 정수 |
%f | 실수 |
pythonCopy code
name = "Alice"
age = 25
height = 163.5
print("제 이름은 %s입니다." % name) # 제 이름은 Alice입니다.
print("제 나이는 %d세이고, 키는 %.1fcm입니다." % (age, height)) # 제 나이는 25세이고, 키는 163.5cm입니다.
4. 제어문
4.1. if
- 조건에 따라 분기하여 실행하는 제어문
- 조건식이 참(True)이면 if 블록 내부의 코드 실행, 거짓(False)이면 실행하지 않음
- 조건식 뒤에 콜론(:)을 붙이고 그 다음 줄부터 if 블록을 작성
if 조건식:
# 조건식이 참일 때 실행할 코드
4.2. for 문
- 시퀀스 객체(리스트, 튜플, 문자열 등)의 요소들을 차례대로 꺼내어 반복적으로 실행하는 제어문
- for 문 뒤에는 시퀀스 객체와 in 키워드, 콜론(:)을 순서대로 작성
- 들여쓰기로 for 블록 내부의 코드를 작성
for 요소 in 시퀀스객체:
# 실행할 코드
4.3. while 문
- 조건식이 참(True)인 동안 반복적으로 실행하는 제어문
- 조건식 뒤에 콜론(:)을 붙이고 그 다음 줄부터 while 블록을 작성
- while 문이 끝나기 전에 조건식이 거짓(False)이 되면 루프를 중지
while 조건식:
# 실행할 코드
4.4. continue 와 break
- 반복문(for, while) 안에서 특정 조건을 만족하면 실행 중인 루프를 빠져나가는 키워드
- continue : 현재 실행 중인 루프의 이번 순회를 중지하고, 다음 순회로 넘어감
- break : 현재 실행 중인 루프를 완전히 중지하고, 다음 코드로 넘어감
for i in range(1, 11):
if i % 2 == 0:
continue # 짝수일 경우 출력하지 않고 다음 순회로 넘어감
if i > 7:
break # 7보다 큰 숫자일 경우 루프를 완전히 중지함
print(i) # 홀수일 경우 출력
4.5. 한줄 for
- for 문을 한 줄로 간략하게 표현한 것
- 대괄호([]) 안에 for 문을 작성하여 리스트 컴프리헨션(List Comprehension)을 만들 수 있음
# 기존 for 문
result = []
for i in range(1, 11):
result.append(i * 2)
# 한줄 for 문
result = [i * 2 for i in range(1, 11)]
5. 튜플(tuple), 리스트(list), 셋(set), 딕셔너리(dict)
5.1. 리스트
- 여러개의 값을 담을 수 있는 자료형
- 대괄호[]로 표현하며 각 원소는 쉼표로 구분
- 리스트의 원소는 인덱스를 통해 접근 가능
- 리스트는 mutable(변경 가능) 자료형
# 리스트 생성 및 접근 예시
a = [1, 2, 3, 4, 5]
print(a[0]) # 1
print(a[2]) # 3
5.2. 딕셔너리
- key-value 쌍으로 데이터를 관리하는 자료형
- 중괄호{}를 사용하며 각 원소는 쉼표로 구분
- 딕셔너리의 원소는 key를 통해 접근 가능
- 딕셔너리는 mutable(변경 가능) 자료형
# 딕셔너리 생성 및 접근 예시
dic = {'name':'John', 'age':25, 'city':'Seoul'}
print(dic['name']) # John
print(dic['city']) # Seoul
5.3. 튜플
- 여러개의 값을 담을 수 있는 자료형
- 괄호()로 표현하며 각 원소는 쉼표로 구분
- 튜플의 원소는 인덱스를 통해 접근 가능
- 튜플은 immutable(변경 불가능) 자료형
# 튜플 생성 및 접근 예시
t = (1, 2, 3, 4, 5)
print(t[0]) # 1
print(t[2]) # 3
5.4. 세트
- 중복되지 않는 값을 담을 수 있는 자료형
- 중괄호{}나 set() 함수를 사용하여 생성 가능
- 세트는 mutable(변경 가능) 자료형
# 세트 생성 및 접근 예시
s = {1, 2, 3, 4, 5}
print(3 in s) # True
print(6 in s) # False
요약
내용 | 설명 | 예시코드 |
변수 | 값에 대한 이름표 | a = 10 |
자료형 | 변수에 담을 수 있는 값의 종류 | string, integer, float 등 |
산술 연산자 | 덧셈, 뺄셈, 곱셈, 나눗셈 등 수학적 계산 | a + b, a - b |
비교 연산자 | 값의 크기나 같음을 비교 | a > b, a <= b |
논리 연산자 | 참과 거짓을 연산 | and, or, not |
비트 연산자 | 2진수 값에 대한 비트 연산 | &, ` |
문자열 | 문자의 나열 | 'Hello, World!' |
슬라이싱 | 문자열에서 원하는 부분 추출 | a[1:3] |
문자열 처리 함수 | 문자열에 대한 다양한 처리 | len(), count(), replace() |
문자열 포맷 | 문자열에 변수나 값 삽입 | print('My name is {}'.format(name)) |
if문 | 조건에 따른 분기 처리 | if a > b: |
for문 | 리스트나 문자열 등의 순회 처리 | for i in range(10): |
while문 | 조건이 참인 동안 반복 | while count < 10: |
continue와 break | 반복문에서 사용되며, continue는 다음 반복으로 넘어가고, break는 반복문을 빠져나감 | if a > 5: continue |
한 줄 for문 | 리스트나 문자열 등을 한 줄로 처리 | [i for i in range(10)] |
리스트 | 여러 값을 저장하는 자료구조 | [1, 2, 3] |
딕셔너리 | 키와 값으로 이루어진 자료구조 | {'name': 'Alice', 'age': 30} |
튜플 | 값을 변경할 수 없는 리스트 | (1, 2, 3) |
세트 | 중복을 허용하지 않는 집합 | {1, 2, 3} |
반응형
'언어 > Python' 카테고리의 다른 글
[파이썬기초] 튜플(tuple), 리스트(list), 셋(set), 딕셔너리(dict) (0) | 2023.04.05 |
---|---|
[파이썬기초] 제어문 (0) | 2023.04.05 |
[파이썬기초] 문자열 처리 (0) | 2023.04.05 |
[파이썬기초] 연산자 (0) | 2023.04.05 |
[파이썬기초] 변수와 자료형 (0) | 2023.03.31 |