이 리포지토리는 파이썬 학원 수업을 통해 학습한 내용을 기반으로 구성된 실습 코드 모음입니다.
기초 문법부터 GUI 프로그래밍까지 단계별로 구성되어 있어 학습 복습 및 확장에 유용합니다.
pythonBasic/
├── common/ # 공통 유틸 및 도구 (tkinter 앱, 좌표 추적 등)
├── ex01Grammar/ # Python 기초 문법 예제
│ ├── p01_print.py # 문자열 포매팅 및 출력 예제
│ ├── p11_tkinter_relative_layout.py # tkinter 레이아웃 예제 (pack)
│ └── ...
└── ...
간단한 텍스트 편집기를 tkinter로 구현한 예제입니다.
- 파일 열기, 저장, 새로 만들기 기능 제공
- 스크롤 지원 (
scrolledtext) - 메뉴와 단축키 구성
text_area = scrolledtext.ScrolledText(window)
text_area.grid(sticky=N + E + S + W)
menu_1.add_command(label="Open", command=open_file)
menu_1.add_command(label="Save", command=save_file)마우스 클릭 시 위치를 출력하고, 창 크기 변경 시 동적으로 창 타이틀을 갱신하는 좌표 도구 예제입니다.
def on_click(self, event):
click_position_str = f"클릭 위치: {event.x}, {event.y}"
self.label.config(text=click_position_str)- 모든 예제는 GUI 입문자 및 Python 문법 초보자를 대상으로 작성되었습니다.
tkinter구성요소를 중심으로, 실용적인 GUI 조작 예제를 포함하고 있습니다.- 일부 예제는 파일 입출력, 문자열 처리 등 실전에서 자주 쓰이는 기법들을 포함합니다.
ex01Grammar/폴더의 예제를 기반으로 한 파이썬 핵심 문법 요약입니다.
-
동적 타이핑 기반 언어이며, 타입 선언 없이 사용 가능
-
주요 자료형:
int,float,complexbool:True,Falsestr,list,tuple,set,dict
-
Type Hinting:
def func(x: int) -> str:
- 산술:
+,-,*,/,//,%,** - 비교:
>,<,==,!=,>=,<= - 논리:
and,or,not - 비트:
&,|,^,~,<<,>> - 삼항 연산:
x if condition else y - 문자열 연산:
"hello" + "world","a" * 3
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
else:
grade = 'F'- 사용자 입력을
tkinter.simpledialog로 받아 조건 분기 in,not in등을 활용한 계절 구분
for,while,continue,break- 중첩 for문을 통한 구구단 출력
range(),enumerate(),zip()활용- 숫자 판별:
str.isnumeric()
- 인덱싱, 슬라이싱,
.append(),.insert(),.pop(),.remove() - 이중 리스트 탐색 및 출력
copy(),reverse(),sort(),extend()
- 불변(immutable) 시퀀스
- 소규모 고정 데이터 처리에 적합
- 리스트와 유사한 순회 방법
- 다차원 튜플로 표 구성 가능
set(): 중복 제거, 순서 없음- 합집합(
|), 교집합(&), 차집합(-), 대칭차(^) issubset,issuperset,isdisjoint등 집합 비교
dict = {'key': value}.get(),.update(),.setdefault(),.items(),.keys(),.values()- 반복문 순회 및 안전한 삭제 (
.pop(),del,.clear())
- 정의:
def 함수이름(): - 반환:
return - 매개변수: 기본값, 가변 인자(
*args) - 여러 값 반환:
return a, b - 곱셈 구현 예: 더하기 기반
multiply()함수
pack(),grid(),place()레이아웃 비교- 버튼 배치 및 UI 구성 실습
- 클래스 정의:
class Bomb(threading.Thread) __init__,__str__,run()메서드 사용threading,time.sleep(),sys.exit()활용
다양한 문자열 포매팅 방식과 특수문자, 인코딩 출력 등을 연습하는 예제입니다.
format, f-string,%포매팅 비교- 특수문자 출력 (
\n,\t,\\) - 파일 출력 및 읽기 예제 포함
print("{0:=^20}".format("청산에 살으리라"))
print(f"{' LGH ':=^30}")
with open("청산에 살으리라.txt", 'w') as f:
print("나는 수풀 우거진 청산에 살으리라", file=f)pack()레이아웃 방식 실습- 버튼 위젯 배치 및
overrelief,anchor속성 테스트
btnConfirm = Button(window, text="Confirm", overrelief="groove", anchor="n")
btnConfirm.pack(padx=10, pady=20, side="top")- Python 3.10+
- Windows/Mac/Linux 환경
- 외부 라이브러리 불필요 (
tkinter기본 포함)