기본 출력 및 변수 처리
print("안녕하세요, 세상!")
print() 함수는 텍스트를 콘솔에 표시하는 기본 메커니즘입니다.
변수는 타입 선언 없이 직접 할당 가능합니다:
score = 95
message = "파이썬 공부 중"
데이터 타입 이해
파이썬은 여러 내장 데이터 타입을 지원합니다:
integer_val = 42 # 정수형 (int)
float_val = 3.14159 # 실수형 (float)
text = "Hello" # 문자열 (str)
is_active = True # 불린 (bool)
문자열 조작 기법
문자열 결합은
+ 연산자를 사용합니다:
greeting = "안녕" + "하세요!"
print(greeting)
f-문자열을 활용해 동적 값 포함:
user_name = "김철수"
print(f"{user_name}님, 안녕하세요!")
문자열 길이 확인:
length = len("파이썬")
print(length) # 출력: 3
문자열 자르기 (슬라이싱):
phrase = "파이썬은 재미있다"
subset = phrase[0:3]
print(subset) # 출력: 파이썬
컬렉션 타입 활용
리스트는 순서가 있고 변경 가능한 요소 집합입니다:
colors = ["빨강", "초록", "파랑"]
print(colors[0]) # 출력: 빨강
리스트 슬라이싱:
numbers = [1, 2, 3, 4, 5]
sub_list = numbers[1:4]
print(sub_list) # 출력: [2, 3, 4]
요소 추가와 제거:
fruits = ["사과", "바나나"]
fruits.append("체리")
fruits.remove("바나나")
print(fruits) # 출력: ['사과', '체리']
정렬 기능:
nums = [5, 2, 8, 1]
nums.sort()
print(nums) # 출력: [1, 2, 5, 8]
튜플은 불변의 순서 있는 컬렉션입니다:
resolution = (1920, 1080)
print(resolution[0]) # 출력: 1920
집합은 중복 없는 무작위 요소 모음입니다:
unique_items = {"A", "B", "C"}
unique_items.add("D")
print(unique_items) # 출력: {'A', 'B', 'C', 'D'}
딕셔너리는 키-값 쌍으로 구성된 매핑 구조입니다:
profile = {"이름": "민수", "나이": 30}
print(profile["이름"]) # 출력: 민수
제어 흐름 및 반복 구조
조건 분기:
age = 17
if age >= 18:
print("성인입니다.")
else:
print("청소년입니다.")
반복문:
for i in range(1, 6):
print(i)
함수 및 클래스 기반 설계
함수 정의:
def calculate_area(radius):
return 3.14 * radius ** 2
print(calculate_area(5))
클래스 생성:
class Car:
def __init__(self, model):
self.model = model
def start_engine(self):
print(f"{self.model}의 엔진이 시동됩니다.")
my_car = Car("테슬라")
my_car.start_engine()
모듈 및 예외 처리
외부 모듈 사용:
import math
print(math.sqrt(25)) # 출력: 5.0
예외 처리:
try:
result = 10 / 0
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
고급 컬렉션 표현식
리스트 표현식:
squares = [x**2 for x in range(6)]
print(squares) # 출력: [0, 1, 4, 9, 16, 25]
딕셔너리 표현식:
square_dict = {x: x**2 for x in range(4)}
print(square_dict) # 출력: {0: 0, 1: 1, 2: 4, 3: 9}
세트 표현식:
unique_squares = {x**2 for x in range(5)}
print(unique_squares) # 출력: {0, 1, 4, 9, 16}
제너레이터 식:
gen = (x**2 for x in range(4))
for val in gen:
print(val)
람다 함수:
add_func = lambda a, b: a + b
print(add_func(3, 4)) # 출력: 7
함수형 도구 사용:
from functools import reduce
data = [1, 2, 3, 4]
product = reduce(lambda x, y: x * y, data)
print(product) # 출력: 24
고급 언어 기능
배열 해제:
a, b, c = [10, 20, 30]
print(a, b, c) # 출력: 10 20 30
사전 해제:
def display_user(name, age):
print(f"이름: {name}, 나이: {age}")
info = {"name": "영희", "age": 28}
display_user(**info)
데코레이터 활용:
def timing_decorator(func):
def wrapper():
print("함수 실행 시작")
func()
print("함수 실행 완료")
return wrapper
@timing_decorator
def greet():
print("안녕하세요!")
greet()
컨텍스트 매니저:
with open("test.txt", "w") as file:
file.write("내용 작성됨")
리스트 확장 및 삽입:
list_a = [1, 2]
list_b = [3, 4]
list_a.extend(list_b)
print(list_a) # 출력: [1, 2, 3, 4]
nums = [1, 2, 4]
nums.insert(2, 3)
print(nums) # 출력: [1, 2, 3, 4]