README by Claude (나보다 더 잘만드네)
🇰🇷 KPTH (Korean Python)

KPTH는 파이썬 문법을 한국어로 번역해주는 교육용 프로그래밍 언어입니다. 한국어로 프로그래밍을 배우고 싶은 분들을 위해 만들어졌습니다.
⚠️ 주의: 이 라이브러리는 교육 목적으로 제작되었으며, 실제 프로젝트에서 사용하기에는 제한이 있을 수 있습니다.
📋 목차
🚀 설치
pip으로 설치
pip install kptha
소스코드에서 설치
git clone https://github.com/yhg4908/kpth.git
cd kpth
pip install -e .
📖 사용법
KPTH는 .kpy 확장자를 사용합니다. 한국어로 프로그램을 작성한 후 ㅋㅍ 명령어로 실행할 수 있습니다.
기본 실행
ㅋㅍ 파일명.kpy
옵션
ㅋㅍ --help # 도움말 출력
ㅋㅍ --version # 버전 정보 출력
ㅋㅍ --debug 파일.kpy # 디버그 모드로 실행
🌟 기본 예제
Hello World
hello.kpy
출력("안녕, 세계!")
실행
$ ㅋㅍ hello.kpy
안녕, 세계!
변수와 연산
calculator.kpy
이름 = 입력("이름을 입력하세요: ")
나이 = 정수(입력("나이를 입력하세요: "))
출력(이름 + "님은 " + 문자열(나이) + "살입니다.")
만약 나이 >= 20:
출력("성인입니다.")
아니면:
출력("미성년자입니다.")
반복문과 조건문
loop.kpy
# 구구단 출력
각각 i 안에 범위(1, 10):
각각 j 안에 범위(1, 10):
출력(문자열(i) + " × " + 문자열(j) + " = " + 문자열(i * j))
출력() # 빈 줄
함수 정의
function.kpy
정의 인사말(이름):
반환 "안녕하세요, " + 이름 + "님!"
정의 계산기(a, b, 연산):
만약 연산 == "더하기":
반환 a + b
아니고만약 연산 == "빼기":
반환 a - b
아니고만약 연산 == "곱하기":
반환 a * b
아니고만약 연산 == "나누기":
만약 b != 0:
반환 a / b
아니면:
반환 "0으로 나눌 수 없습니다"
아니면:
반환 "알 수 없는 연산입니다"
# 함수 사용
결과 = 인사말("김철수")
출력(결과)
계산결과 = 계산기(10, 5, "더하기")
출력("10 + 5 =", 계산결과)
📚 번역된 문법
기본 키워드
| 한국어 |
Python |
설명 |
출력 |
print |
화면에 출력 |
입력 |
input |
사용자 입력 받기 |
만약 |
if |
조건문 |
아니고만약 |
elif |
조건문 확장 |
아니면 |
else |
조건문 기본값 |
동안 |
while |
반복문 |
각각 |
for |
반복문 |
안에 |
in |
포함 연산자 |
정의 |
def |
함수 정의 |
반환 |
return |
함수 반환값 |
클래스 |
class |
클래스 정의 |
시도 |
try |
예외 처리 |
예외 |
except |
예외 처리 |
중단 |
break |
반복문 중단 |
계속 |
continue |
반복문 계속 |
데이터 타입
| 한국어 |
Python |
설명 |
정수 |
int |
정수 타입 |
실수 |
float |
실수 타입 |
문자열 |
str |
문자열 타입 |
불리언 |
bool |
참/거짓 타입 |
리스트 |
list |
리스트 타입 |
튜플 |
tuple |
튜플 타입 |
사전 |
dict |
딕셔너리 타입 |
집합 |
set |
집합 타입 |
내장 함수
| 한국어 |
Python |
설명 |
길이 |
len |
길이 반환 |
범위 |
range |
범위 생성 |
최대값 |
max |
최대값 반환 |
최소값 |
min |
최소값 반환 |
합계 |
sum |
합계 계산 |
정렬 |
sorted |
정렬된 리스트 반환 |
역순 |
reversed |
역순 반환 |
열거 |
enumerate |
인덱스와 함께 반환 |
압축 |
zip |
여러 시퀀스 압축 |
🎯 고급 예제
클래스와 객체
class_example.kpy
클래스 학생:
정의 초기화(자기, 이름, 나이, 학년):
자기.이름 = 이름
자기.나이 = 나이
자기.학년 = 학년
자기.점수들 = []
정의 점수추가(자기, 점수):
자기.점수들.추가(점수)
정의 평균계산(자기):
만약 길이(자기.점수들) > 0:
반환 합계(자기.점수들) / 길이(자기.점수들)
아니면:
반환 0
정의 정보출력(자기):
출력("이름:", 자기.이름)
출력("나이:", 자기.나이)
출력("학년:", 자기.학년)
출력("평균 점수:", 자기.평균계산())
# 객체 생성 및 사용
학생1 = 학생("김철수", 16, 1)
학생1.점수추가(85)
학생1.점수추가(92)
학생1.점수추가(78)
학생1.정보출력()
예외 처리
exception_example.kpy
정의 안전한나누기(a, b):
시도:
결과 = a / b
반환 결과
예외 영으로나눔오류:
출력("오류: 0으로 나눌 수 없습니다!")
반환 없음
예외 타입오류:
출력("오류: 숫자가 아닌 값이 입력되었습니다!")
반환 없음
# 사용 예시
결과1 = 안전한나누기(10, 2)
출력("10 / 2 =", 결과1)
결과2 = 안전한나누기(10, 0)
출력("10 / 0 =", 결과2)
파일 처리
file_example.kpy
# 파일 쓰기
함께 열기("data.txt", "w", encoding="utf-8") 로서 파일:
파일.write("안녕하세요\n")
파일.write("KPTH로 작성된 파일입니다\n")
# 파일 읽기
시도:
함께 열기("data.txt", "r", encoding="utf-8") 로서 파일:
내용 = 파일.read()
출력("파일 내용:")
출력(내용)
예외 파일없음오류:
출력("파일을 찾을 수 없습니다!")
🔍 디버그 모드
디버그 모드를 사용하면 번역된 Python 코드와 상세한 오류 정보를 확인할 수 있습니다.
ㅋㅍ --debug example.kpy
디버그 모드에서는 다음 정보가 표시됩니다:
- 번역된 Python 코드 (줄 번호 포함)
- 상세한 오류 메시지와 스택 트레이스
- 실행 과정에서의 추가 정보
🤝 기여하기
KPTH 프로젝트에 기여하고 싶으시다면:
- 이 저장소를 포크하세요
- 기능 브랜치를 생성하세요 (
git checkout -b feature/새기능)
- 변경사항을 커밋하세요 (
git commit -am '새 기능 추가')
- 브랜치에 푸시하세요 (
git push origin feature/새기능)
- Pull Request를 생성하세요
개발 환경 설정
git clone https://github.com/yhg4908/kpth.git
cd kpth
pip install -e .
테스트 실행
# 간단한 테스트
echo '출력("테스트")' > test.kpy
ㅋㅍ test.kpy
📝 라이센스
이 프로젝트는 MIT 라이센스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
🔗 링크
📞 문의
📖 완전한 번역 사전
파이썬 예약어 (Keywords)
논리값 / None
| 한국어 |
Python |
설명 |
거짓 |
False |
거짓 값 |
참 |
True |
참 값 |
없음 |
None |
None 값 |
논리 연산
| 한국어 |
Python |
설명 |
그리고 |
and |
논리 AND |
또는 |
or |
논리 OR |
아니다 |
not |
논리 NOT |
조건/반복
| 한국어 |
Python |
설명 |
만약 |
if |
조건문 |
아니고만약 |
elif |
조건문 확장 |
아니면 |
else |
조건문 기본값 |
동안 |
while |
while 반복문 |
각각 |
for |
for 반복문 |
안에 |
in |
포함 연산자 |
중단 |
break |
반복문 중단 |
계속 |
continue |
반복문 계속 |
예외 처리
| 한국어 |
Python |
설명 |
시도 |
try |
예외 처리 시작 |
예외 |
except |
예외 처리 |
결국 |
finally |
최종 실행 블록 |
발생 |
raise |
예외 발생 |
함수/클래스/람다
| 한국어 |
Python |
설명 |
정의 |
def |
함수 정의 |
클래스 |
class |
클래스 정의 |
람다 |
lambda |
람다 함수 |
반환 |
return |
함수 반환 |
넘어가기 |
pass |
pass 문 |
비동기 처리
| 한국어 |
Python |
설명 |
비동기 |
async |
비동기 함수 |
기다림 |
await |
비동기 대기 |
패턴 매칭
| 한국어 |
Python |
설명 |
매칭 |
match |
패턴 매칭 |
경우 |
case |
매칭 케이스 |
기타 키워드
| 한국어 |
Python |
설명 |
삭제 |
del |
객체 삭제 |
전역 |
global |
전역 변수 |
비전역 |
nonlocal |
비지역 변수 |
로서 |
as |
as 키워드 |
은 |
is |
is 연산자 |
에서 |
from |
from 임포트 |
불러오기 |
import |
import 문 |
단언 |
assert |
assert 문 |
함께 |
with |
with 문 |
생성 |
yield |
yield 문 |
파이썬 내장 함수 (Built-in Functions)
기본 내장 함수
| 한국어 |
Python |
설명 |
절댓값 |
abs |
절댓값 계산 |
모두참 |
all |
모든 요소가 참인지 확인 |
하나참 |
any |
하나라도 참인지 확인 |
아스키 |
ascii |
ASCII 문자열 반환 |
이진수 |
bin |
이진수 변환 |
불리언 |
bool |
불리언 타입 |
중단점 |
breakpoint |
디버거 중단점 |
바이트배열 |
bytearray |
바이트 배열 |
바이트 |
bytes |
바이트 객체 |
호출가능 |
callable |
호출 가능 여부 확인 |
문자 |
chr |
유니코드 문자 반환 |
클래스메서드 |
classmethod |
클래스 메서드 |
컴파일 |
compile |
코드 컴파일 |
복소수 |
complex |
복소수 타입 |
삭제속성 |
delattr |
속성 삭제 |
사전 |
dict |
딕셔너리 타입 |
디렉터리 |
dir |
객체 속성 목록 |
몫나머지 |
divmod |
몫과 나머지 |
열거 |
enumerate |
인덱스와 값 쌍 |
평가 |
eval |
표현식 평가 |
실행 |
exec |
코드 실행 |
필터 |
filter |
조건 필터링 |
실수 |
float |
실수 타입 |
형식 |
format |
문자열 포맷 |
고정집합 |
frozenset |
불변 집합 |
속성얻기 |
getattr |
속성 가져오기 |
전역변수 |
globals |
전역 변수 딕셔너리 |
존재여부 |
hasattr |
속성 존재 여부 |
해시 |
hash |
해시 값 |
도움말 |
help |
도움말 출력 |
16진수 |
hex |
16진수 변환 |
객체ID |
id |
객체 ID |
입력 |
input |
사용자 입력 |
정수 |
int |
정수 타입 |
인스턴스여부 |
isinstance |
인스턴스 여부 확인 |
서브클래스여부 |
issubclass |
서브클래스 여부 확인 |
반복자 |
iter |
반복자 생성 |
길이 |
len |
길이 반환 |
리스트 |
list |
리스트 타입 |
지역변수 |
locals |
지역 변수 딕셔너리 |
맵 |
map |
맵 함수 |
최대값 |
max |
최대값 |
메모리뷰 |
memoryview |
메모리 뷰 |
최소값 |
min |
최소값 |
다음값 |
next |
다음 값 |
객체 |
object |
기본 객체 |
8진수 |
oct |
8진수 변환 |
열기 |
open |
파일 열기 |
유니코드값 |
ord |
유니코드 값 |
거듭제곱 |
pow |
거듭제곱 |
출력 |
print |
화면 출력 |
속성 |
property |
프로퍼티 |
범위 |
range |
범위 생성 |
표현식 |
repr |
표현식 문자열 |
역순 |
reversed |
역순 반복자 |
반올림 |
round |
반올림 |
집합 |
set |
집합 타입 |
설정속성 |
setattr |
속성 설정 |
슬라이스 |
slice |
슬라이스 객체 |
정렬 |
sorted |
정렬된 리스트 |
정적메서드 |
staticmethod |
정적 메서드 |
문자열 |
str |
문자열 타입 |
합계 |
sum |
합계 |
슈퍼클래스 |
super |
상위 클래스 |
튜플 |
tuple |
튜플 타입 |
타입 |
type |
타입 확인 |
변수들 |
vars |
변수 딕셔너리 |
압축 |
zip |
여러 시퀀스 압축 |
모듈가져오기 |
__import__ |
동적 임포트 |
추가 내장 함수들
| 한국어 |
Python |
설명 |
적용 |
apply |
함수 적용 |
버퍼 |
buffer |
버퍼 객체 |
바이트순서 |
byteorder |
바이트 순서 |
코드 |
code |
코드 객체 |
공변 |
coerce |
타입 강제 변환 |
내부함수 |
intern |
문자열 내부화 |
긴정수 |
long |
긴 정수 |
원시입력 |
raw_input |
원시 입력 |
문자열감소 |
reduce |
축약 함수 |
다시로드 |
reload |
모듈 재로드 |
유니코드 |
unicode |
유니코드 문자열 |
실행파일 |
execfile |
파일 실행 |
파일 |
file |
파일 객체 |
연산자 키워드
| 한국어 |
Python |
설명 |
이고 |
and |
논리 AND |
이거나 |
or |
논리 OR |
가아니다 |
not |
논리 NOT |
같다 |
== |
같음 비교 |
다르다 |
!= |
다름 비교 |
크다 |
> |
큼 비교 |
작다 |
< |
작음 비교 |
크거나같다 |
>= |
크거나 같음 |
작거나같다 |
<= |
작거나 같음 |
타입 관련
| 한국어 |
Python |
설명 |
정수타입 |
int |
정수 타입 |
실수타입 |
float |
실수 타입 |
문자열타입 |
str |
문자열 타입 |
불타입 |
bool |
불리언 타입 |
리스트타입 |
list |
리스트 타입 |
튜플타입 |
tuple |
튜플 타입 |
사전타입 |
dict |
딕셔너리 타입 |
집합타입 |
set |
집합 타입 |
바이트타입 |
bytes |
바이트 타입 |
없음타입 |
type(None) |
None 타입 |
특수 메서드 확장
| 한국어 |
Python |
설명 |
초기화 |
__init__ |
객체 초기화 |
문자열화 |
__str__ |
문자열 표현 |
표현 |
__repr__ |
개발자용 표현 |
길이 |
__len__ |
길이 메서드 |
호출 |
__call__ |
호출 가능 객체 |
반복자 |
__iter__ |
반복자 메서드 |
다음 |
__next__ |
다음 값 |
포함 |
__contains__ |
포함 여부 |
덧셈 |
__add__ |
덧셈 연산자 |
뺄셈 |
__sub__ |
뺄셈 연산자 |
곱셈 |
__mul__ |
곱셈 연산자 |
나눗셈 |
__truediv__ |
나눗셈 연산자 |
정수나눗셈 |
__floordiv__ |
정수 나눗셈 |
나머지 |
__mod__ |
나머지 연산자 |
거듭제곱 |
__pow__ |
거듭제곱 연산자 |
같음 |
__eq__ |
같음 비교 |
다름 |
__ne__ |
다름 비교 |
작음 |
__lt__ |
작음 비교 |
작거나같음 |
__le__ |
작거나 같음 |
큼 |
__gt__ |
큼 비교 |
크거나같음 |
__ge__ |
크거나 같음 |
인덱싱 |
__getitem__ |
인덱스 접근 |
인덱스설정 |
__setitem__ |
인덱스 설정 |
인덱스삭제 |
__delitem__ |
인덱스 삭제 |
속성접근 |
__getattr__ |
속성 접근 |
속성설정 |
__setattr__ |
속성 설정 |
속성삭제 |
__delattr__ |
속성 삭제 |
진입 |
__enter__ |
컨텍스트 진입 |
종료 |
__exit__ |
컨텍스트 종료 |
해시 |
__hash__ |
해시 값 |
불리언화 |
__bool__ |
불리언 변환 |
바이트화 |
__bytes__ |
바이트 변환 |
형식화 |
__format__ |
포맷 문자열 |
크기힌트 |
__sizeof__ |
메모리 크기 |
복사 |
__copy__ |
복사 |
깊은복사 |
__deepcopy__ |
깊은 복사 |
상태얻기 |
__getstate__ |
상태 가져오기 |
상태설정 |
__setstate__ |
상태 설정 |
감소 |
__reduce__ |
객체 축약 |
감소확장 |
__reduce_ex__ |
확장 축약 |
새로운 문법 요소들
| 한국어 |
Python |
설명 |
모두생성 |
yield from |
yield from 구문 |
왈러스 |
:= |
왈러스 연산자 |
타입힌트 |
: |
타입 힌트 |
반환타입 |
-> |
반환 타입 힌트 |
포맷문자열 |
f |
f-string |
원시문자열 |
r |
raw string |
바이트문자열 |
b |
byte string |
유니코드문자열 |
u |
unicode string |
패턴 매칭 확장
| 한국어 |
Python |
설명 |
와일드카드 |
_ |
와일드카드 패턴 |
또는패턴 |
| |
OR 패턴 |
가드조건 |
if |
가드 조건 |
컨텍스트 매니저
| 한국어 |
Python |
설명 |
문맥관리자 |
contextlib |
컨텍스트 관리자 |
임시억제 |
suppress |
예외 억제 |
리다이렉트출력 |
redirect_stdout |
출력 리다이렉트 |
리다이렉트오류 |
redirect_stderr |
오류 리다이렉트 |
데코레이터 관련
| 한국어 |
Python |
설명 |
데코레이터 |
@ |
데코레이터 |
속성장식 |
property |
프로퍼티 데코레이터 |
정적장식 |
staticmethod |
정적 메서드 데코레이터 |
클래스장식 |
classmethod |
클래스 메서드 데코레이터 |
캐시장식 |
cache |
캐시 데코레이터 |
LRU캐시 |
lru_cache |
LRU 캐시 |
타입 힌트 모듈 (typing)
| 한국어 |
Python |
설명 |
타입힌트모듈 |
typing |
타입 힌트 모듈 |
리스트형 |
List |
리스트 타입 힌트 |
튜플형 |
Tuple |
튜플 타입 힌트 |
사전형 |
Dict |
딕셔너리 타입 힌트 |
집합형 |
Set |
집합 타입 힌트 |
고정집합형 |
FrozenSet |
고정집합 타입 힌트 |
옵션형 |
Optional |
옵션 타입 |
유니온형 |
Union |
유니온 타입 |
콜러블형 |
Callable |
호출 가능 타입 |
모든형 |
Any |
모든 타입 |
타입변수 |
TypeVar |
타입 변수 |
제네릭 |
Generic |
제네릭 타입 |
리터럴 |
Literal |
리터럴 타입 |
파이널 |
Final |
최종 타입 |
노반환 |
NoReturn |
반환 없음 |
클래스변수 |
ClassVar |
클래스 변수 |
자기참조 |
Self |
자기 참조 |
파이썬 내장 예외
| 한국어 |
Python |
설명 |
예외 |
Exception |
기본 예외 |
기본예외 |
BaseException |
최상위 예외 |
시스템종료 |
SystemExit |
시스템 종료 |
키보드인터럽트 |
KeyboardInterrupt |
키보드 인터럽트 |
제너레이터종료 |
GeneratorExit |
제너레이터 종료 |
중단예외 |
StopIteration |
반복 중단 |
비동기중단예외 |
StopAsyncIteration |
비동기 반복 중단 |
산술오류 |
ArithmeticError |
산술 연산 오류 |
오버플로우오류 |
OverflowError |
오버플로우 |
영으로나눔오류 |
ZeroDivisionError |
0으로 나눔 |
부동소수점오류 |
FloatingPointError |
부동소수점 오류 |
속성오류 |
AttributeError |
속성 오류 |
버퍼오류 |
BufferError |
버퍼 오류 |
EOF오류 |
EOFError |
파일 끝 오류 |
입출력오류 |
IOError |
입출력 오류 |
OS오류 |
OSError |
운영체제 오류 |
파일존재오류 |
FileExistsError |
파일 존재 |
파일없음오류 |
FileNotFoundError |
파일 없음 |
디렉터리없음오류 |
NotADirectoryError |
디렉터리 아님 |
디렉터리아님오류 |
IsADirectoryError |
디렉터리임 |
권한오류 |
PermissionError |
권한 오류 |
프로세스찾을수없음오류 |
ProcessLookupError |
프로세스 찾을 수 없음 |
시간초과오류 |
TimeoutError |
시간 초과 |
참조오류 |
ReferenceError |
참조 오류 |
메모리오류 |
MemoryError |
메모리 오류 |
인덱스오류 |
IndexError |
인덱스 오류 |
키오류 |
KeyError |
키 오류 |
값오류 |
ValueError |
값 오류 |
타입오류 |
TypeError |
타입 오류 |
이름오류 |
NameError |
이름 오류 |
언바운드로컬오류 |
UnboundLocalError |
지역 변수 오류 |
모듈없음오류 |
ModuleNotFoundError |
모듈 없음 |
임포트오류 |
ImportError |
임포트 오류 |
중단오류 |
InterruptedError |
중단 오류 |
런타임오류 |
RuntimeError |
런타임 오류 |
재귀오류 |
RecursionError |
재귀 오류 |
구현안됨오류 |
NotImplementedError |
구현 안됨 |
문법오류 |
SyntaxError |
문법 오류 |
들여쓰기오류 |
IndentationError |
들여쓰기 오류 |
탭오류 |
TabError |
탭 오류 |
유니코드오류 |
UnicodeError |
유니코드 오류 |
유니코드인코딩오류 |
UnicodeEncodeError |
유니코드 인코딩 오류 |
유니코드디코딩오류 |
UnicodeDecodeError |
유니코드 디코딩 오류 |
유니코드번역오류 |
UnicodeTranslateError |
유니코드 번역 오류 |
경고 (Warnings)
| 한국어 |
Python |
설명 |
경고 |
Warning |
기본 경고 |
사용자경고 |
UserWarning |
사용자 경고 |
폐기경고 |
DeprecationWarning |
폐기 예정 경고 |
대기중경고 |
PendingDeprecationWarning |
폐기 대기 경고 |
문법경고 |
SyntaxWarning |
문법 경고 |
런타임경고 |
RuntimeWarning |
런타임 경고 |
미래기능경고 |
FutureWarning |
미래 기능 경고 |
임포트경고 |
ImportWarning |
임포트 경고 |
유니코드경고 |
UnicodeWarning |
유니코드 경고 |
바이트경고 |
BytesWarning |
바이트 경고 |
자원경고 |
ResourceWarning |
자원 경고 |
유용한 모듈들
| 한국어 |
Python |
설명 |
운영체제 |
os |
운영체제 인터페이스 |
시스템 |
sys |
시스템별 매개변수 |
시간 |
time |
시간 관련 함수 |
날짜시간 |
datetime |
날짜와 시간 |
수학 |
math |
수학 함수 |
랜덤 |
random |
난수 생성 |
정규식 |
re |
정규 표현식 |
JSON |
json |
JSON 인코더/디코더 |
경로 |
pathlib |
객체지향 파일시스템 경로 |
콜렉션 |
collections |
특수 컨테이너 |
반복도구 |
itertools |
반복자 도구 |
함수도구 |
functools |
함수 도구 |
스레딩 |
threading |
스레드 기반 병렬성 |
멀티프로세싱 |
multiprocessing |
프로세스 기반 병렬성 |
비동기IO |
asyncio |
비동기 I/O |
HTTP요청 |
requests |
HTTP 라이브러리 |
URL해석 |
urllib |
URL 처리 모듈 |
CSV |
csv |
CSV 파일 읽기/쓰기 |
피클 |
pickle |
파이썬 객체 직렬화 |
복사 |
copy |
얕은/깊은 복사 |
약한참조 |
weakref |
약한 참조 |
가비지수집 |
gc |
가비지 컬렉터 |
디스 |
dis |
바이트코드 디스어셈블러 |
추적 |
traceback |
스택 추적 출력 |
로깅 |
logging |
로깅 시설 |
압축 |
zipfile |
ZIP 아카이브 |
타르 |
tarfile |
TAR 아카이브 |
임시파일 |
tempfile |
임시 파일과 디렉터리 |
셸명령 |
subprocess |
하위 프로세스 관리 |
플랫폼 |
platform |
플랫폼 정보 |
🇰🇷 한국어로 프로그래밍하세요! 📝✨