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' |
-
- 인덱싱 : “하나만 뽑기”
리스트나 문자열에서 하나의 요소를 꺼낼 때 사용한다.
- 인덱싱 : “하나만 뽑기”
-
- 슬라이싱 : “여러 개 잘라내기”
시퀀스에서 범위를 지정해서 부분 추출할 때 사용한다.
- 슬라이싱 : “여러 개 잘라내기”
오늘을 마치며
프로그래밍 언어를 배운다는 건 단순히 문법을 외우는 일이 아니다.
변수 하나, 함수 하나를 통해 어떤 원리가 숨어 있고, 어떤 흐름으로 실행되는지를 이해하는 게 더 중요하다.
오늘은 파이썬의 자료형, 변수의 유효 범위, 가변성과 불변성, 그리고 인덱싱과 슬라이싱까지 배웠다.
이 내용들이 아직은 낯설고 어렵게 느껴질 수 있지만,
직접 코드를 써보면서 하나씩 손에 익히다 보면
어느 순간 자연스럽게 “아, 이거 내가 알던 거야!” 하고 느낄 날이 오기를 기대해본다.
파이썬, 정복하고 싶다!