Skip to content

학원 수업 시간에 배운 Python 기초 문법과 GUI(tkinter) 실습을 정리한 리포지토리입니다. 이론보다는 실습 위주로 구성되어 있어 반복 학습과 복습에 용이합니다.

Notifications You must be signed in to change notification settings

BUGISU/python-class-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🐍 Python Basic Examples

이 리포지토리는 파이썬 학원 수업을 통해 학습한 내용을 기반으로 구성된 실습 코드 모음입니다.
기초 문법부터 GUI 프로그래밍까지 단계별로 구성되어 있어 학습 복습 및 확장에 유용합니다.

📁 프로젝트 구조

pythonBasic/
├── common/                  # 공통 유틸 및 도구 (tkinter 앱, 좌표 추적 등)
├── ex01Grammar/            # Python 기초 문법 예제
│   ├── p01_print.py        # 문자열 포매팅 및 출력 예제
│   ├── p11_tkinter_relative_layout.py  # tkinter 레이아웃 예제 (pack)
│   └── ...
└── ...

🔧 공통 유틸리티 (common/)

1. MyPythonNote.py

간단한 텍스트 편집기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)

2. windowLocationInfo.py

마우스 클릭 시 위치를 출력하고, 창 크기 변경 시 동적으로 창 타이틀을 갱신하는 좌표 도구 예제입니다.

def on_click(self, event):
    click_position_str = f"클릭 위치: {event.x}, {event.y}"
    self.label.config(text=click_position_str)

📌 개발자 노트

  • 모든 예제는 GUI 입문자Python 문법 초보자를 대상으로 작성되었습니다.
  • tkinter 구성요소를 중심으로, 실용적인 GUI 조작 예제를 포함하고 있습니다.
  • 일부 예제는 파일 입출력, 문자열 처리 등 실전에서 자주 쓰이는 기법들을 포함합니다.

📘 Python 기초 문법 요약 정리

ex01Grammar/ 폴더의 예제를 기반으로 한 파이썬 핵심 문법 요약입니다.

🟢 변수와 자료형 (p02_variable.py)

  • 동적 타이핑 기반 언어이며, 타입 선언 없이 사용 가능

  • 주요 자료형:

    • int, float, complex
    • bool: True, False
    • str, list, tuple, set, dict
  • Type Hinting: def func(x: int) -> str:

➕ 연산자 (p03_operator.py)

  • 산술: +, -, *, /, //, %, **
  • 비교: >, <, ==, !=, >=, <=
  • 논리: and, or, not
  • 비트: &, |, ^, ~, <<, >>
  • 삼항 연산: x if condition else y
  • 문자열 연산: "hello" + "world", "a" * 3

🧭 조건문 (p04_condition.py)

if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
else:
    grade = 'F'
  • 사용자 입력을 tkinter.simpledialog로 받아 조건 분기
  • in, not in 등을 활용한 계절 구분

🔁 반복문 (p05_loop.py)

  • for, while, continue, break
  • 중첩 for문을 통한 구구단 출력
  • range(), enumerate(), zip() 활용
  • 숫자 판별: str.isnumeric()

📦 리스트 (p06_list.py)

  • 인덱싱, 슬라이싱, .append(), .insert(), .pop(), .remove()
  • 이중 리스트 탐색 및 출력
  • copy(), reverse(), sort(), extend()

🔁 튜플 (p07_tuple.py)

  • 불변(immutable) 시퀀스
  • 소규모 고정 데이터 처리에 적합
  • 리스트와 유사한 순회 방법
  • 다차원 튜플로 표 구성 가능

🧮 집합 (p08_set.py)

  • set(): 중복 제거, 순서 없음
  • 합집합(|), 교집합(&), 차집합(-), 대칭차(^)
  • issubset, issuperset, isdisjoint 등 집합 비교

🗃️ 딕셔너리 (p09_dict.py)

  • dict = {'key': value}
  • .get(), .update(), .setdefault(), .items(), .keys(), .values()
  • 반복문 순회 및 안전한 삭제 (.pop(), del, .clear())

📦 함수 (p10_def.py)

  • 정의: def 함수이름():
  • 반환: return
  • 매개변수: 기본값, 가변 인자(*args)
  • 여러 값 반환: return a, b
  • 곱셈 구현 예: 더하기 기반 multiply() 함수

🖼️ tkinter 레이아웃 (p11, p12, p13)

  • pack(), grid(), place() 레이아웃 비교
  • 버튼 배치 및 UI 구성 실습

💣 클래스와 스레드 (Bomb.py)

  • 클래스 정의: class Bomb(threading.Thread)
  • __init__, __str__, run() 메서드 사용
  • threading, time.sleep(), sys.exit() 활용

🧪 기초 문법 예제 (ex01Grammar/)

p01_print.py

다양한 문자열 포매팅 방식과 특수문자, 인코딩 출력 등을 연습하는 예제입니다.

  • format, f-string, % 포매팅 비교
  • 특수문자 출력 (\n, \t, \\)
  • 파일 출력 및 읽기 예제 포함
print("{0:=^20}".format("청산에 살으리라"))
print(f"{' LGH ':=^30}")
with open("청산에 살으리라.txt", 'w') as f:
    print("나는 수풀 우거진 청산에 살으리라", file=f)

🎨 tkinter 레이아웃 실습

p11_tkinter_relative_layout.py

  • 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 기본 포함)

About

학원 수업 시간에 배운 Python 기초 문법과 GUI(tkinter) 실습을 정리한 리포지토리입니다. 이론보다는 실습 위주로 구성되어 있어 반복 학습과 복습에 용이합니다.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages