Python 기본문법 및 자료형 & 제어문

YeHee·2024년 12월 10일

⏰ 2024.12.10 (D+44)

1. 파이썬 기초 문법

1.1 주석

  • 주석은 코드에서 실행되지 않는 설명을 작성할 때 사용
  • 한 줄 주석은 # 기호를 사용하고, 여러 줄 주석은 """ 또는 '''로 작성 가능
#### 한 줄 주석 예시
x = 5  # 변수 x에 5를 저장

"""
여러 줄 주석 예시:
이 부분은 주석으로 처리되어 실행되지 않으며,
여러 줄에 걸쳐 설명을 추가할 수 있습니다.
"""

1.2 들여쓰기 (Indentation)

  • 파이썬에서는 들여쓰기를 사용하여 코드 블록을 구분합니다.
  • 다른 언어에서 중괄호 {}를 사용하지만 파이썬은 들여쓰기로 블록을 구분합니다.
  • 들여쓰기를 잘못하면 IndentationError가 발생합니다.
if True:
    print("True입니다.")  # 이 코드는 True가 참일 때 실행됩니다.
    x = 10  # if 조건문 블록 안에서 실행되는 코드

2. 변수 및 명명 규칙

2.1 변수 선언

  • 파이썬에서는 변수를 선언할 때 타입을 명시하지 않아도 된다
  • 값을 할당하면 해당 타입이 자동으로 결정
x = 10           # x는 정수형
name = "Alice"    # name은 문자열형
pi = 3.14         # pi는 실수형
  • 동적 타이핑(Dynamic Typing)을 지원하는 파이썬에서는 변수의 타입을 명시적으로 선언할 필요 없이 값에 맞게 자동으로 타입이 결정

2.2 명명 규칙

  • 변수명은 반드시 알파벳 문자나 언더스코어(_)로 시작해야 하며, 그 후에 숫자도 포함 가능
  • 또한, 공백이나 특수문자(예: !, @, #)는 변수명에 사용할 수 없다.
#### 유효한 변수명 예시:
name = "Alice"
age_1 = 25
_count = 10
x = 100

#### 유효하지 않은 변수명 예시:
# 1age = 10    # 숫자로 시작하는 변수명은 유효하지 않음
# first name = "Alice"  # 공백이 포함된 변수명은 유효하지 않음

2.3 상수

  • 상수는 보통 대문자로 작성하여 변경되지 않는 값을 나타낸다
  • 파이썬에서는 상수에 대한 강제적인 제약은 없지만, 대문자로 작성하는 것이 관례
PI = 3.14159  # 상수
  • 상수는 프로그램에서 변하지 않는 값을 나타내기 위해 사용
  • 예를 들어 원주율(PI)이나 물리 상수 같은 값들이 이에 해당

3. 자료형

3.1 숫자형 (int, float)

  • 파이썬에는 정수형(int)과 실수형(float) 자료형
  • 정수는 소수점이 없는 숫자이고, 실수는 소수점을 포함한 숫자
x = 10        # 정수형
y = -5         # 정수형
pi = 3.14      # 실수형
radius = 5.0   # 실수형
  • 파이썬은 동적 타입 언어이기 때문에 변수의 타입을 명시적으로 선언할 필요 없이 값에 맞게 자동으로 타입이 결정

3.2 문자열 (str)

  • 문자열은 문자들의 집합으로, 작은따옴표(') 또는 큰따옴표(")로 감싸서 생성
  • 여러 줄로 이루어진 문자열은 """ 또는 '''로 감쌀 수 있다.
name = "Alice"  # 작은따옴표 또는 큰따옴표를 사용해 문자열을 정의
greeting = 'Hello, World!'
  • 여러 줄 문자열을 사용할 때는 """을 사용하여 여러 줄에 걸친 문자열을 표현 가능
text = """이것은 
여러 줄 문자열입니다."""

3.3 리스트 (list)

  • 리스트는 여러 값을 저장할 수 있는 자료형으로, 인덱스를 통해 각 요소에 접근 가능
  • 리스트는 mutable(변경 가능한) 자료형으로, 값을 추가, 삭제, 수정 가능
fruits = ["apple", "banana", "cherry"]  # 리스트 생성
numbers = [1, 2, 3, 4, 5]  # 정수형 리스트
  • 리스트에서 값을 추출할 때는 인덱스를 사용, 인덱스는 0부터 시작
print(fruits[0])  # "apple"
print(fruits[1:3])  # ["banana", "cherry"] (슬라이싱)
  • 리스트에 새로운 항목을 추가할 때는 append() 메서드를 사용 가능
fruits.append("grape")  # 리스트에 "grape" 추가

3.4 튜플 (tuple)

  • 튜플은 리스트와 유사하지만, immutable(불변) 자료형
  • 한 번 생성된 튜플은 변경 불가
  • 튜플은 보통 여러 값을 함께 묶어 놓을 때 사용
coordinates = (10, 20)  # 튜플 생성
  • 튜플은 순서가 있고, 인덱스를 사용해 값을 추출 가능
  • 그러나 값을 변경하거나 추가 불가

3.5 딕셔너리 (dict)

  • 딕셔너리는 키(key)와 값(value)의 쌍으로 데이터를 저장하는 자료형
  • 딕셔너리의 키는 유일해야 하며, 값은 변경 가능
  • 딕셔너리의 값은 다양한 자료형을 가질 수 있다.
person = {"name": "Alice", "age": 25}  # 딕셔너리 생성
print(person["name"])  # "Alice" (딕셔너리에서 "name" 키에 해당하는 값 출력)
  • 딕셔너리에서 값을 조회하려면 를 사용
: `person["name"]`

3.6 집합 (set)

  • 집합(set)은 중복을 허용하지 않는 자료형
  • 집합은 순서가 없고, 유일한 값만 저장, 중복된 값은 자동으로 제거
numbers_set = {1, 2, 3, 4, 5}  # 집합 생성
  • 집합에서는 순서가 없으므로 인덱스를 사용하여 값을 추출 불가
  • 중복된 값이 저장되면 하나의 값만 남는다

3.7 None

  • None은 파이썬에서 '값이 없다'라는 것을 나타내는 특별한 객체
  • 이는 다른 언어에서 null이나 nil과 비슷한 역할
result = None  # 변수 result에 값이 없음을 할당
  • 변수에 None이 할당되어 있으면, 이는 해당 변수에 유효한 값이 없다는 것을 의미

4. 연산자

4.1 산술 연산자

  • 산술 연산자는 기본적인 수학 연산을 수행하는 데 사용
a = 7
b = 3
print(a + b)  # 10 (덧셈)
print(a - b)  # 4 (뺄셈)
print(a * b)  # 21 (곱셈)
print(a / b)  # 2.3333... (나누기)
print(a // b) # 2 (정수 나누기)
print(a % b)  # 1 (나머지)
print(a ** b) # 343 (거듭제곱)

4.2 비교 연산자

  • 비교 연산자는 두 값을 비교하여 참(True) 또는 거짓(False)을 반환
a = 10
b = 5
print(a == b)  # False (두 값이 같으면 True)
print(a != b)  # True  (두 값이 다르면 True)
print(a > b)   # True  (a가 b보다 크면 True)

4.3 논리 연산자

  • 논리 연산자는 불리언 값을 다루며, 조건을 결합하여 참(True) 또는 거짓(False)을 반환
a = True
b = False
print(a and b)  # False (두 조건이 모두 참이어야 True)
print(a or b)   # True  (두 조건 중 하나만 참이면 True)
print(not a)    # False (a가 참이면 거짓을 반환)

4.4 할당 연산자

  • 할당 연산자는 값을 변수에 할당하거나 연산을 수행하여 그 결과를 변수에 다시 할당
x = 5
x += 2  # x = x + 2 -> x = 7

5. 제어문

5.1 조건문 (if, elif, else)

  • 조건문은 주어진 조건에 따라 다른 코드를 실행 가능
  • 여러 조건을 elif로 추가하고, else는 모든 조건이 거짓일 때 실행
x = 10
if x > 5:
    print("x는 5보다 큽니다.")  # x가 5보다 크면 실행
elif x == 5:
    print("x는 5입니다.")  # x가 5일 때 실행
else:
    print("x는 5보다 작습니다.")  # x가 5보다 작을 때 실행

5.2 반복문

for 문

  • for문은 특정 범위나 리스트를 순회하며 반복을 실행
  • range() 함수로 반복할 범위를 지정 가능
for i in range(5):  # range(5)0부터 4까지의 숫자 생성
    print(i)

while 문

  • while문은 조건이 참일 때 계속 반복을 실행
  • 조건이 거짓이 되면 반복을 종료
count = 0
while count < 5:
    print(count)
    count += 1  # count가 5보다 작을 때만 반복

5.3 break, continue

break 예제

  • break는 반복문을 즉시 종료
for i in range(5):
    if i == 3:
        break  # 3에서 반복문 종료
    print(i)

continue 예제

  • continue는 특정 조건에서만 현재 반복을 건너뛰고 계속 반복
for i in range(5):
    if i == 3:
        continue  # 3일 때만 건너뛰고 계속 반복
    print(i)

5.4 else와 함께 사용하는 반복문

  • 반복문이 정상적으로 종료되었을 때 실행되는 코드
  • 반복문이 break로 종료되면 else는 실행 ❌
for i in range(5):
    print(i)
else:
    print("반복문 종료")

0개의 댓글