Python 기초를 오늘부터 배우기 시작했습니다.

바로 시작해 보겠습니다.
1. 주석 (Comments)
주석은 코드의 실행에 관여하지 않으며, 코드에 대한 설명, 개발자의 의도, 원소스 정보 등을 남기는 데 사용됩니다.
- 용도: 코드 해석, 문서화, AI 자동 코드 완성 등. FastAPI와 같은 프레임워크에서는 Swagger 문서의 기본 옵션으로 주석(Docstring)이 활용됩니다.
- 1줄 주석: #을 사용합니다.
- 여러 줄 주석 (Docstring): ''' 또는 """을 사용합니다. 클래스나 함수 내부의 첫 번째 라인에 위치하면 툴팁으로 로드되는 함수/클래스 주석이 됩니다.
아래는 함수의 주석 예시입니다.
함수 내부에 주석을 넣고 함수 위에 마우스를 올리시면 함수에 대한 설명이 나타나게 됩니다.

타입 힌트 (애너테이션)
변수의 타입을 명시하는 주석의 일종입니다. 파이썬 자체적으로 강제성은 없으나, Pydantic 등의 외부 라이브러리를 통해 유효성 검사에 활용할 수 있습니다.
# 변수명 : 타입
score: int = 10
2. 변수 (Variables)
변수는 데이터를 담는 그릇으로, 메모리 상에 존재하는 데이터의 참조값(주소)을 가집니다. 파이썬은 모든 구성원이 객체이며, 참조 카운트를 통해 관리됩니다.
- 동적 타이핑 (Dynamic Typing): 자바나 C 등과 달리 변수의 타입 선언 없이 값이 세팅될 때 타입이 추론되고 결정됩니다.
- 타입 변경: 정수형 데이터를 참조하던 변수가 문자열이나 부동소수점 값을 참조하도록 변경할 수 있습니다.
a = 1 # a는 1을 참조함
print(type(a)) # <class 'int'>
a = 'hi' # a는 문자열 'hi'를 참조하도록 변경됨
print(type(a)) # <class 'str'>
이러한 특성 때문에... 조심해야 할 문제가 있습니다.
변수 명명 시 주의사항 (Shadowing)
파이썬은 예약어나 print, type 등의 내장 함수 이름으로 변수를 선언하는 것을 문법적으로 막지 않습니다. 이를 덮어씌울 경우(Shadowing), 본래의 내장 함수 기능을 사용할 수 없게 되므로 주의해야 합니다.
print = 100
type(print) # <class 'int'>
print('hello')
# 오류 발생
# TypeError: 'int' object is not callable
3. 상수 (Constants)
파이썬은 문법적으로 값이 변하지 않는 상수(Constant)를 지원하지 않습니다.
- 관습적 전략: 변수명을 모두 대문자로 표기하여 상수로 취급합니다. 이는 개발자 간에 '이 값은 수정하지 말라'는 암묵적인 약속입니다.
- 용도: 환경 변수, 모델 학습 시 고정값 등.
PI = 3.14
MAX_POOL_SIZE = 100
CLAUDE_API_KEY = 'YOUR_API_KEY'
4. 리터럴 (Literals)
리터럴은 소스 코드에 고정된 값 자체를 의미합니다. 변수 초기화 시 기본적으로 사용되는 값입니다.
- 숫자 리터럴: 0(10진수), 0b(2진수), 0.0(부동소수점) 등
- 문자열 리터럴: '', "", ''' '''
- 불리언 리터럴: True, False
- 특수 리터럴: None, NaN (값이 없음을 의미)
- 컬렉션 리터럴: 리스트 [], 딕셔너리 {}, 튜플 (), set()
특징
- True를 제외하고 모든 리터럴을 조건식에 배치하면 경과값 False 임
빈 컬렉션 선언 시 주의사항
빈 딕셔너리와 빈 세트(Set)의 선언 방식을 구분해야 합니다. {}는 딕셔너리를 생성하므로, 빈 세트를 만들 때는 반드시 set() 함수를 사용해야 합니다. 조건식에서 값이 없는(비어 있는) 리터럴은 False로 평가됩니다.
empty_list = []
empty_dict = {}
empty_tuple = ()
empty_set = set() # 주의: {}를 쓰면 dict가 됨
print(type(empty_dict)) # <class 'dict'>
print(type(empty_set)) # <class 'set'>
5. 네이밍 컨벤션 (Naming Conventions)
가독성과 유지보수를 위해 코드의 목적에 맞게 이름을 짓는 규칙입니다.
- 스네이크 표기법 (Snake Case): 파이썬의 변수명, 함수명에 주로 사용됩니다. 소문자를 사용하고 단어 사이를 언더스코어(_)로 연결합니다. (예: your_name)
- 카멜 표기법 (Camel Case): 자바 등 타 언어에서 주로 쓰이나, 파이썬에서는 클래스명을 지을 때 첫 글자를 대문자로 하는 파스칼 표기법(Pascal Case) 형태로 적용합니다. (예: class PersonInfo:)
이름 짓기 규칙
- 문자(통상 알파벳), 숫자(0~9), 언더스코어(_) 조합으로 구성합니다.
- 숫자로 시작할 수 없습니다.
- 데이터가 의미하는 바를 명확하게 표기해야 합니다.
참고 : 언더스코어(_) 단독 사용은 할당된 값을 무시하고 버리는 용도로 사용됩니다.
# ❌ 좋지 않은 예: dummy라는 변수가 나중에 쓰이는지 찾아봐야 함
name, dummy, age = ("홍길동", "서울시 강남구", 30)
# 좋은 예: 주소 데이터는 쓰지 않겠다는 의도가 명확함
name, _, age = ("홍길동", "서울시 강남구", 30)
def get_user_info():
# 이메일, 이름, 가입일, 포인트 점수를 반환하는 함수
return "user@email.com", "이체론", "2026-07-02", 1500
# 이메일과 포인트 점수만 필요할 때
email, _, _, points = get_user_info()
print(email, points)
6. 표현식 및 종결 표식 (Statements & Semicolons)
대부분의 프로그래밍 언어는 문장(Statement)이 끝났음을 알리기 위해 세미콜론(;)을 사용하지만, 파이썬에서는 생략이 기본입니다. 줄 바꿈을 통해 문장의 종료를 인식합니다.
단, 한 줄에 여러 개의 표현식을 연달아 작성해야 하는 특수한 상황에서는 세미콜론을 사용할 수 있습니다.
# 파이썬은 세미콜론 생략
a = 1
b = 2
# 한 줄에 여러 구문을 넣을 때 예외적 사용
c = 3; d = 4; print(c + d)
자바에서는 무조건 작성했어야 했는데 파이썬에서는 굳이 작성하지 않아도 되는군요... 수고스러움을 덜었네요. 세미콜론을 찍지 않아 에러가 발생하는 경우도 있었는데 ㅠ 실수를 하나 줄여주겠네요 ㅎ
오늘의 한 마디
처음 공부하기 때문에 걱정이 많습니다. 하지만 다시 생각했을 때 이건 쓸데없는 걱정이라고 생각됩니다. 하다가 모르면 선생님, 동료에게 물어보면서 성장해 나가면 된다고 생각합니다. 요새는 ai가 발달돼서 또 금방 배울 수 있을 거라고 생각합니다. 따라서 내가 이 수업에서 어떤 것을 얻어갈 수 있고 기업이나 내가 하고 싶은 일에 어떻게 적용할 수 있을지 고민해 보는 것을 중점으로 나아가야 한다고 생각합니다.
걱정의 40%는 절대 일어나지 않고, 30%는 이미 일어난 일, 22%는 사소한 일, 4%는 우리가 바꿀 수 없는 일입니다. 실제 우리가 통제할 수 있는 진짜 걱정은 단 4%에 불과합니다.
통제할 수 있는 것만 집중합시다!
'코딩 개발 > Python' 카테고리의 다른 글
| Python - 문자열 처리 함수 (split(), join(), lower(), upper(), strip() 형제들, find(), index(), in, startwith, endswith, replace()) (0) | 2026.07.07 |
|---|---|
| Python - 데이터 추출 슬라이싱(Slicing) - 변수명[시작 인덱스 : 끝 인덱스 : step(간격, 기본값1, 생략가능) (0) | 2026.07.06 |
| Python - 문자열 추출(인덱싱) (0) | 2026.07.05 |
| Python - 단일 데이터형 (수치형) (0) | 2026.07.03 |
| Python 1일차 (in AI 데이터 엔지니어 과정) (1) | 2026.07.01 |