Python. 1

Python Basic

May 28, 2025

우리는 일상 속에서 수많은 프로그램과 마주한다.

그런데 그 속을 들여다보면, 정말 많은 곳에서 ‘파이썬’이 쓰인다.
데이터를 수집하고 분석하기 위해서는
다양한 곳에 흩어진 정보를 다룰 수 있는 파이썬이 꼭 필요하다.

처음엔 조금 낯설 수 있지만, 꼭 알아야 할 기본 개념들을 하나하나 배워가면 직관적인 파이썬의 매력에 빠져들지 않을까?

주피터 노트북을 활용해서 파이썬을 시작해보자.

miniconda prompt 창에서 주피터 노트북 열기


# 1. hipython 가상환경 활성화

(base) C:\Users\LENOVO>conda activate hipython


# 2. 주피터를 열어 줄 폴더 경로를 설정하기

(hipython) C:\Users\LENOVO>cd c:\mysrc


# 3. 폴더 경로에 들어가서 jupyter notebook 열기

(hipython) c:\mysrc>jupyter notebook

명명표준

# 상수
MAX_CNT = 3

# 변수
val_i = 1
_val, __val

# Function
def f_a():
    return

# Class
Car, SportCar, Student

네이밍 컨벤션의 종류

스타일 설명 예제 사용 예시
Snake_case 소문자 + 언더스코어 user_name 권장 (변수, 함수)
camel_case 첫 단어는 소문자, 이후 단어는 대문자 userName 비권장
Pascal_case 모든 단어의 첫 글자를 대문자로 UserName 클래스명에 사용
UPPER_case 상수(Constant) MAX_VALUE 권장 (상수 값)

변수의 유효 범위 (Name Space)

변수는 어디서 정의되었는지에 따라 유효 범위(scope)가 달라진다.

1. 지역 변수 (Local Variable)

  • 함수나 블록 내부에서 정의된 변수다.
  • 해당 함수 안에서만 유효하며, 함수가 끝나면 사라진다.

예시:

def func():
    local_var = 10
    print(local_var)

2. 전역 변수 (Global Variable)

  • 함수 외부에서 정의된 변수다.
  • 프로그램 전체에서 접근 가능하지만,
    함수 내부에서 수정하려면 global 키워드가 필요하다.

예시:

var = 100

def func():
    global var
    var = 200

3. 정적 변수 (Static Variable)

  • 함수가 여러 번 호출되어도 값이 유지되는 변수다.
  • 파이썬에는 static 키워드가 없지만,
    함수 속성이나 클래스 변수로 구현할 수 있다.

예시:

def counter():
    if not hasattr(counter, "count"):
        counter.count = 0
    counter.count += 1
    print(counter.count)

파이썬의 자료형

분류 자료형 가변성 설명 예시  
기본형 int 불변 정수형 10, -5, 0  
  float 불변 실수형 3.14, -0.1  
  bool 불변 참/거짓 논리값 True, False  
  str 불변 문자열 "hello", 'Python'  
복합형   tuple 불변 순서 있는 여러 값 (읽기 전용 리스트 느낌) (1, 2), ('x', 'y')
  list 가변 순서 있는 여러 값 (배열) [1, 2, 3], ['a', 'b']  
  dict 가변 키-값 쌍의 집합 {'name': '지희', 'age': 25}  
  set 가변 중복 없는 값들의 집합 {1, 2, 3}, {'apple', 'banana'}  

예시

# 기본 자료형
type(3)           # <class 'int'>
type(3.14)        # <class 'float'>
type(True)        # <class 'bool'>
type("hello")     # <class 'str'>

# 복합 자료형
type([1, 2])      # <class 'list'>
type((1, 2))      # <class 'tuple'>
type({'a': 1})    # <class 'dict'>
type({1, 2, 3})   # <class 'set'>

가변성과 불변성 비교

항목 예시 설명
불변형 a = 3; a = a + 1 정수는 수정 시 새 객체 생성됨
  s = "hi"; s += "!" 문자열도 연결 시 새 객체 생성됨
가변형 lst = [1,2]; lst.append(3) 리스트는 주소가 변하지 않고 내용만 수정됨
  d = {'a': 1}; d['b'] = 2 딕셔너리는 값 추가 시 같은 객체 유지됨

인덱싱과 슬라이싱

구분 설명 예시 결과
인덱싱 하나만 선택 "apple"[1] 'p'
  뒤에서 선택 "apple"[-1] 'e'
슬라이싱 시작~끝-1까지 선택 "apple"[1:4] 'ppl'
  시작 생략 "apple"[:3] 'app'
  끝 생략 "apple"[2:] 'ple'
  간격 사용 [1,2,3,4,5][::2] [1, 3, 5]
  역순 "abcde"[::-1] 'edcba'
    • 인덱싱 : “하나만 뽑기”
      리스트나 문자열에서 하나의 요소를 꺼낼 때 사용한다.
    • 슬라이싱 : “여러 개 잘라내기”
      시퀀스에서 범위를 지정해서 부분 추출할 때 사용한다.

오늘을 마치며

프로그래밍 언어를 배운다는 건 단순히 문법을 외우는 일이 아니다.
변수 하나, 함수 하나를 통해 어떤 원리가 숨어 있고, 어떤 흐름으로 실행되는지를 이해하는 게 더 중요하다.

오늘은 파이썬의 자료형, 변수의 유효 범위, 가변성과 불변성, 그리고 인덱싱과 슬라이싱까지 배웠다.

이 내용들이 아직은 낯설고 어렵게 느껴질 수 있지만,
직접 코드를 써보면서 하나씩 손에 익히다 보면
어느 순간 자연스럽게 “아, 이거 내가 알던 거야!” 하고 느낄 날이 오기를 기대해본다.

파이썬, 정복하고 싶다!