본문 바로가기

파이썬 기초(1) - 파이썬 기본 문법 본문

Languages

파이썬 기초(1) - 파이썬 기본 문법

ITst 2025. 3. 18. 17:46

변수    Variable

  • 데이터를 저장하는 그릇
  • 명명규칙: 모두 소문자, 밑줄 문자( _ ) 사용
    E.g. a, b, items, user_names, db_name
a = 1
b = 2
items = [1,2,3]
user_name = ['파','이','썬']

 

상수    Constant

  • 변하지 않고 항상 일정한 값
  • 명명규칙: 모두 대문자, 밑줄 문자( _ ) 사용
    E.g. PI, GRAVITY, USER_PATH
PI = 3.141592
GRAVITY = 9.8
USER_PATH = 'C:\Users\itst'

 

연산자    Operator

  • (하기 ① ~ ⑤는 연산 우선순위를 나타냄)
  • 산술 연산자: 숫자인 값을 연산함
    • +  : 덧셈 ③
    •  -  : 뺄셈
    •  *  : 곱셈 ②
    •  /  : 나눗셈 ②
    •  // : 정수 몫 ②
    • % : 나머지 ②
    • ** : 거듭제곱 ①
a = 11
b = 4

print('덧셈 결과', a+b)   # "덧셈 결과 15" 출력
print('뺄셈 결과', a-b)   # "뺄셈 결과 7" 출력
print('곱셈 결과', a*b)   # "곱셈 결과 44" 출력
print('나눗셈 결과', a/b)   # "나눗셈 결과 2.75" 출력
print('나눗셈 정수 몫', a//b)  # "나눗셈 정수 몫 2" 출력
print('나눗셈 나머지', a%b)    # "나눗셈 나머지 3" 출력
print('거듭제곱 결과', a**b)   # "거듭제곱 결과 14641" 출력
  • 관계 연산자: 두 값의 대소관계 또는 상등관계를 계산함  
    • >   : 왼쪽 값이 오른쪽 값보다 큰지 비교
    • >= : 왼쪽 값이 오른쪽 값보다 크거나 같은지 비교
    • <   : 왼쪽 값이 오른쪽 값보다 작은지 비교
    • <= : 왼쪽 값이 오른쪽 값보다 작거나 같은지 비교
    • == : 왼쪽 값이 오른쪽 값과 같은지 비교
    •  != : 왼쪽 값이 오른쪽 값과 같지 않은지 비교
a = 11
b = 4

print(a>b)    # "True" 출력
print(a>=b)   # "True" 출력
print(a<b)    # "False" 출력
print(a<=b)   # "False" 출력
print(a==b)   # "False" 출력
print(a!=b)   # "True" 출력
  • 논리 연산자: 논리값 참(True)과 거짓(False)를 연산함 ⑤
논리 연산자
A True True False False
B True False True False
A and B 논리곱(conjunction)
True False False False
A or B 논리합(disjunction)
True True True False
not A 논리 부정
False False True True
a = True
b = False

print(a and b)  # "False" 출력
print(a or b)   # "True" 출력
  • 멤버 연산자: 어떤 집합(객체)에 연산 대상의 포함 여부를 판단  
    •    in    : 왼쪽 값이 오른쪽 집합(객체) 안에 포함되었는지 판단
    • not in : 왼쪽 값이 오른쪽 집합(객체) 안에 포함되지 않았는지 판단
A = '엄마'
B = ['아빠','엄마','딸']

print(A in B)      # "True" 출력
print(A not in B)  # "False" 출력

 

조건문    Conditional Statement

  • 단일 조건문 (if 조건문)
    • 단일 조건문은 하나의 조건을 검사하여 참(True)이면 실행하고, 거짓(False)이면 실행하지 않는 구조
    • 콜론(:): 조건 뒤에 콜론을 붙여 조건의 끝임을 명시
    • 들여쓰기(탭): if의 실행문임을 표시. 들여쓰기를 해제한 구문부터 실행문이 종료됨
age = 18

if age >= 18:
	print('성인입니다.')   # "성인입니다." 출력
  • 양자택일 조건문  (if ~ else 조건문)
    • 조건의 결과에 따라 if 코드나 else의 코드를 실행하는 구조
x = 3
if x > 5:
    print('x는 5보다 크다')   # if 조건이 충족되지 않아 else로 넘어감
else:
    print('x는 5보다 작거나 같다.')   # "x는 5보다 작거나 같다." 출력
  • 다자택일 조건문  (if ~ elif ~ else 조건문)
    • 여러 개의 조건을 검사하여 가장 먼저 참인 조건의 코드를 실행
score = 85

if score >= 90:
    print('A 학점입니다.')   # if 조건이 참이 아니어서 넘어감
elif score >= 80:
    print('B 학점입니다.')   # "B 학점입니다" 출력 후 조건문 종료
elif score >= 70:
    print('C 학점입니다.')
else:
    print('F 학점입니다.')

 

반복문    Loop Statement

  • For 반복문
    • 주어진 반복 가능한(iterable) 객체(리스트, 튜플, 문자열, range 등)의 요소를 차례로 가져와 실행하는 반복문
# 예제1: 리스트 출력
fruits = ["사과", "바나나", "체리"]

for fruit in fruits:   # fruits 리스트를 객체로 사용
    print(fruit)   # "사과", "바나나", "체리" 출력 
    
    
# 예제2: range()와 함께 사용
for i in range(5):  # 0부터 4까지 반복
    print(i)   # "0", "1", "2", "3", "4" 출력
  • While 반복문
    • while 문은 조건이 참(True)인 동안 계속 반복하는 구조
    • 반복문을 조정하는 키워드로 break와 continue 사용 가능함
      - break: 반복문 종료
      - continue: 현재 반복 건너뛰고 다음 반복 실행
# 예제 1: 조건이 참이면 반복
x = 0
while x < 5:
    print(x)
    x += 1  # x 값을 증가시키지 않으면 무한 루프 발생
    
# "0", "1", "2", "3", "4" 출력



# break: 반복문 즉시 종료
for i in range(10):
    if i == 5:
        break  # i가 5이면 반복 종료
    print(i)
    
# "0", "1", "2", "3", "4" 출력
    
    
    
# continue: 특정 조건일 때 건너뛰기
for i in range(5):
    if i == 2:
        continue  # i가 2이면 건너뛰고 다음 반복 실행
    print(i)

 

파이썬의 자료구조

리스트   List

  • 순서 유지: 요소들이 삽입된 순서를 유지함
  • 가변성(Mutable): 생성 후 요소의 수정, 추가, 삭제가 가능
  • 중복 허용: 동일한 값을 여러 번 포함할 수 있음
  • 인덱싱과 슬라이싱 지원: 인덱스를 사용하여 요소에 접근하거나 부분 리스트를 추출할 수 있음
# 리스트 생성
fruits = ['사과', '바나나', '체리', '사과']

# 요소 접근
print(fruits[1])  # 출력: 바나나

# 요소 수정
fruits[2] = '오렌지'

# 요소 추가
fruits.append('포도')

# 요소 삭제
fruits.remove('사과')  # 첫 번째 '사과'만 제거

print(fruits)  # 출력: ['바나나', '오렌지', '사과', '포도']

 

튜플   Tuple

  • 순서 유지: 요소들이 삽입된 순서를 유지
  • 불변성(Immutable): 생성 후 요소를 변경할 수 없음
  • 중복 허용: 동일한 값을 여러 번 포함할 수 있음
  • 인덱싱과 슬라이싱 지원: 인덱스를 사용하여 요소에 접근하거나 부분 튜플을 추출할 수 있음
# 튜플 생성
colors = ('빨강', '초록', '파랑', '빨강')

# 요소 접근
print(colors[0])   # 출력: 빨강

# 튜플은 불변성이므로 요소 수정 불가능
# colors[1] = '노랑'   # 오류 발생

# 튜플 연결
new_colors = colors + ('노랑',)
print(new_colors)   # 출력: ('빨강', '초록', '파랑', '빨강', '노랑')

 

세트    Set

  • 순서 없음: 요소들의 순서가 유지되지 않음
  • 가변성(Mutable): 생성 후 요소의 추가, 삭제가 가능
  • 중복 불허: 동일한 값을 중복하여 포함할 수 없음
  • 인덱싱 미지원: 인덱스를 사용한 접근이 불가능
# 세트 생성
unique_numbers = {1, 2, 3, 4, 4, 2}

print(unique_numbers)  # 출력: {1, 2, 3, 4}

# 요소 추가
unique_numbers.add(5)

# 요소 삭제
unique_numbers.discard(3)

print(unique_numbers)  # 출력: {1, 2, 4, 5}

# 세트 연산
odds = {1, 3, 5, 7}
evens = {2, 4, 6, 8}

# 합집합
all_numbers = odds | evens
print(all_numbers)  # 출력: {1, 2, 3, 4, 5, 6, 7, 8}

# 교집합
common_numbers = unique_numbers & odds
print(common_numbers)  # 출력: {1, 5}

 

리스트   List

  • 순서 유지: 삽입된 순서를 유지
  • 가변성(Mutable): 생성 후 키-값 쌍의 수정, 추가, 삭제가 가능
  • 키의 중복 불허: 각 키는 고유해야 하며, 중복될 수 없음
  • 키-값 쌍으로 데이터 저장: 각 키에 해당하는 값을 저장
# 딕셔너리 생성
person = {
    '이름': 'itst',
    '나이': 25,
    '도시': '서울'
}

# 값 접근
print(person['이름'])  # 출력: itst

# 값 수정
person['나이'] = 26

# 새로운 키-값 쌍 추가
person['직업'] = '엔지니어'

# 키-값 쌍 삭제
del person['도시']

print(person)
# 출력: {'이름': 'itst', '나이': 26, '직업': '엔지니어'}

# 키와 값 순회
for key, value in person.items():
    print(f"{key}: {value}")
# 출력:
# 이름: itst
# 나이: 26
# 직업: 엔지니어

 

파이썬 자료구조 정리

특징 리스트
(List)
튜플
(Tuple)
세트
(Set)
딕셔너리
(Dictionary)
순서 유지 Y Y N Y
(Python 3.7~)
가변성 Y N Y Y
중복 허용 Y Y N  Key  : N
Value: Y
인덱싱 지원 Y Y N 키를 통한 접근
데이터 분석에서의
활용성
(① ~ ④)

1. 순서 유지 및 가변성
2. 다양한 데이터 타입 저장 가능

1. 데이터 불변성
2. Pandas, Numpy와 호환성이 낮음 

1. 순서 유지 불가
2. 인덱싱, 슬라이싱 기능 부재

1. 키-값 쌍을 통한 데이터 관리 용이
2. 빠른 조회 속도

 

'Languages' 카테고리의 다른 글

파이썬 기초(2) - 데이터 분석 라이브러리  (0) 2025.03.20
Comments