#파이썬
172024.04.01
인플루언서 
담담
2,184IT테크 전문블로거
참여 콘텐츠 35
10.9 파이썬 : tkinter 체크 버튼 사용하기

체크 버튼(Checkbutton)은 라디오 버튼과 달리 복수 개의 항목을 선택할 수 있습니다. 체크 버튼은 Checkbutton 클래스로 만듭니다. 체크 버튼은 앞에 작은 네모 상자를 표시하며 이 상자를 클릭하지 않고, 옆에 표시되는 텍스트를 클릭해도 됩니다. 다음 코드는 체크 버튼을 사용하여 직업을 선택하게 합니다. ▶ 10_15.py 첨부파일 10_15.py 파일 다운로드 from tkinter import * master = Tk() def var_states(): print("프로그래머 : %d,\n디자이너 : %d" % (var1.get(), var2.get())) #01 결과 출력 Label(master, text="직업 선택 :").grid(row=0, sticky=W) #02 레이블 생성과 배치 var1 = IntVar() #03 클릭하면 1 Checkbutton(master, #04 체크 버튼 생성과 배치 text="프로그래머 ", variable=var1).grid(row=1, sticky=W) var2 = IntVar() #05 클릭하면 1 Checkbutton(master, #06 체크 버튼 생성과 배치 text="디자이너", variable=var2).grid(row=2, sticky=W) b1 = Button(master, text="작업마침", command=master.quit) b1.grid(row=3,...

2024.03.30
2
10.8 파이썬 : tkinter 라디오 버튼 사용하기

라디오 버튼(Radio Button)은 옵션 버튼(Option Button)이라고도 하며 여러 개의 항목 중 하나를 선택할 때 사용합니다. 라디오 버튼은 단 1개의 항목만 선택할 수 있으며 Radiobutton 클래스로 만듭니다. 다음 코드는 라디오 버튼을 사용하여 설문 조사를 하는 인터페이스의 예를 보여줍니다. ▶ 10_14.py 첨부파일 10_14.py 파일 다운로드 from tkinter import * root = Tk() root.title("설문조사") #01 윈도우 제목 select = IntVar() #02 정수저장 제어변수 생성 select.set(1) #03 1번 버튼이 클릭된 상태로 표시 languages = [ #04 리스트 정의 ("Python", 1), ("Javascript", 2), ("Java", 3), ("PHP", 4), ("Perl", 5) ] def ShowChoice(): #05 이벤트 처리 함수 print(select.get()) Label(root, #06 레이블 생성과 배치 text="원하는 언어를 선택하세요 :", justify = LEFT, padx = 20).pack() for txt, val in languages: #07 반복 처리 Radiobutton(root, #08 라디오 버튼 생성과 배치 text=txt, padx=20, variable=select, command=Show...

2024.03.29
3
10.7 파이썬 : tkinter 버튼 사용하기

버튼은 가장 흔한 표준 위젯이며 Button 클래스로 만듭니다. 우리는 이미 버튼을 사용해봤습니다. 여기서는 클릭 이벤트 기능이 있는 2개의 버튼을 사용하는 예를 추가로 살펴봅니다. ▶ 10_13.py from tkinter import * root = Tk() def write_slogan(): #01 이벤트 핸들러 print("Tkinter의 GUI는 편리합니다!") button = Button(root, #02 버튼 생성과 배치 text="QUIT", fg="red", command=root.quit) button.pack(side=LEFT) slogan = Button(root, #03 버튼 생성과 배치 text="Hello", fg="blue", command=write_slogan) slogan.pack(side=LEFT) root.mainloop() ▶ 실행결과 ========= RESTART: C:/Users/ilsan/Desktop /파이썬 시작 소스코드/ch10/10_13.py ========= Tkinter의 GUI는 편리합니다! ▶ 코드해설 01 : "Hello" 버튼이 클릭되었을 때 실행될 이벤트 처리 함수입니다. 02 : "QUIT" 버튼을 만들고 pack 관리자로 배치합니다. command 옵션에 root.quit을 지정하면 이 버튼이 클릭되었을 때 코드의 실행이 끝납니다. 03 : "Hello" 버튼을 만...

2024.03.29
10.6 파이썬 : tkinter 레이블 사용하기

레이블(Lable)은 단순히 텍스트나 이미지를 표시하기 위해 사용하며, 클릭이나 드래그 등의 이벤트 기능은 없습니다. 레이블은 Label 클래스로 만듭니다. 다음 코드는 텍스트 레이블과 이미지 레이블을 이용하여 텍스트와 이미지를 나란히 표시하는 예를 보여줍니다. ▶ 10_11.py 첨부파일 10_11.zip 파일 다운로드 from tkinter import * root = Tk() logo = PhotoImage(file="Python_logo.gif") #01 이미지 파일 읽기 w1 = Label(root, image=logo).pack(side="right") #02 이미지 레이블 생성 explanation = """이미지는 GIF와 PPM/PGM 포맷만 사용할 수 있습니다. 하지만 모듈을 import 하면 다른 포맷의 이미지도 자유롭게 사용할 수 있습니다.""" #03 텍스트 w2 = Label(root, justify = LEFT, padx = 10, font = "Times, 10, bold", text=explanation).pack(side="left") #04 텍스트 레이블 생성 root.mainloop() ▶ 실행결과 ▶ 코드해설 01 : 이미지 파일을 읽어서 logo라는 이미지 객체를 만듭니다. tkinter에서는 gif와 ppm/pgm 포맷의 이미지만 처리할 수 있으나, Python Imaging Library(P...

2024.03.22
10.4 파이썬 : tkinter 제어 변수와 기본 이벤트

앞에서 우리는 단순히 위젯을 표시하는 방법만을 알아보았습니다. 여기서는 tkinter에서 사용하는 제어 변수와 위젯을 클릭했을 때 특정 작업을 실행시키는 방법을 알아봅니다. tkinter에서는 위젯과 관련된 값을 저장하기 위해서 변수를 사용할 수 있으며 이들을 tkinter 제어변수라고 합니다. tkinter 제어 변수는 다음과 같이 선언하여 만듭니다. □ x = StringVar() # 문자열 저장 ; 기본값 " " □ x = IntVar() # 정수 저장 ; 기본값 0 □ x = DoubleVar() # 실수 저장 ; 기본값 0.0 □ x = BooleanVar() # 논리값 저장 ; 거짓이면 0, 참이면 1 또한 버튼과 같이 클릭해서 사용하는 위젯의 경우는 위젯을 클릭하면 특정 작업이 실행되어야 합니다. 즉, 클릭 이벤트(Click Event)가 발생하면 클릭 이벤트를 처리하는 이벤트 핸들러(Event Handler)가 실행되어야 합니다. 클릭 이벤트가 가장 기본적인 이벤트입니다. 기본 이벤트 외에 더 다양한 이벤트가 있습니다. 이에 대해서는 "10.12 이벤트와 바인드"에서 다룰 것입니다. 앞의 코드를 수정한 다음 코드는 tkinter 제어 변수와 이벤트 핸들러의 사용 예를 보여줍니다. ▶ 10_09.py 첨부파일 10_09.py 파일 다운로드 from tkinter import * def Fun1(): #01 이벤트 핸들러 ...

2024.03.14
10.3 파이썬 : tkinter 레이아웃 매니저

위젯의 사용법을 배우기 전에 먼저 윈도우에 위젯들을 알맞게 배치하는 3가지 방법을 알아야 합니다. 위젯을 배치하기 위해서는 3가지 메소드를 사용하는데 이들을 레이아웃 매니저(Layout Manager, 배치관리자)라고 부릅니다. 우리가 지금까지 살짝이라도 알아본 위젯은 버튼 밖에 없으니까 버튼을 중심으로 배치관리자의 사용법을 알아봅시다. 배치관리자는 다음과 같이 3가지가 있습니다. pack 관리자 사용하기 pack 관리자가 가장 기본적인 배치관리자입니다. pack 관리자에서 사용할 수 있는 주요 옵션은 다음과 같습니다. □ side : 위젯을 배치하는 시작 위치를 설정합니다. TOP(기본값, 위에서 시작), LEFT(왼쪽에서 시작), RIGHT(오른쪽에서 시작), BOTTOM(아래에서 시작)을 지정할 수 있습니다. □ fill : 위젯을 창에 꽉차게 표시합니다. X(가로), Y(세로), BOTH(가로와 세로)를 지정할 수 있습니다. □ expand : 창의 크기가 변하면 위젯의 배치도 비율대로 변합니다. YES, NO를 지정할 수 있습니다. □ padx : 위젯의 좌우 여백을 지정합니다. □ pady : 위젯의 상하 여백을 지정합니다. □ anchor : 위젯을 방위에 따라 배치합니다. "e"(동), "w"(서), "s"(남), "n"(북), "sw"(남서), "se"(남동), "nw"(북서), "ne"(북동)를 지정할 수 있습니다....

2024.03.14
10.2 파이썬 : tkinter 위젯 사용을 위한 기본 코드

다음 코드는 2개의 버튼을 윈도우에 표시합니다. 버튼들을 클릭하면 그 버튼에 맞는 특정 동작이 발생해야 합니다. 즉, 이벤트 핸들러가 실행되어야 합니다. 하지만 이 코드에는 이벤트 핸들러가 없습니다. 단순히 버튼을 표시하는 기능까지만 구현되어 있습니다. 버튼을 표시하는 기본적인 문법을 파악하는 것이 이 코드의 목적입니다. ▶ 10_01.py 첨부파일 10_01.py 파일 다운로드 from tkinter import * #01 모듈 가져오기 win=Tk() #02 윈도우 생성 win.geometry("200x100+600+300") #03 윈도우 크기, 위치 지정 b1 = Button(win, text="One") #04 첫번째 버튼 생성 b2 = Button(win, text="Two") #05 두번째 버튼 생성 b1.pack() #06 첫번째 버튼을 윈도우에 등록하고 배치 b2.pack() #07 두번째 버튼을 윈도우에 등록하고 배치 win.mainloop() #08 이벤트 발생 대기 ▶ 실행결과 ▶ 코드해설 01 : from tkinter import * #01 모듈 가져오기 tkinter 모듈을 import 합니다. 02-03 : win=Tk() #02 윈도우 생성 win.geometry("200x100+600+300") #03 윈도우 크기 지정 윈도우를 생성해서 win이라는 임의의 이름을 부여하고 윈도우의 크기와 위치를 지정합...

2024.03.06
10.1 파이썬 그래픽 유저 인터페이스(GUI)란 무엇인가?

10장 그래픽 유저 인터페이스 파이썬에서는 여러 가지 그래픽 유저 인터페이스(Graphic User Interface; GUI)를 사용할 수 있습니다. 그 중에서 우리는 파이썬 언어에 기본으로 포함되어 있는 tkinter를 사용해볼 것입니다. tkinter 모듈은 기능이 많아서 전체를 학습하려면 별도의 책 한권이 필요할 정도입니다. 그래서 이 장에서는 tkinter를 사용하기 위한 기초 지식을 확실히 다지고, 제일 많이 사용하는 인터페이스를 위주로 학습할 것입니다. tkinter 이외의 다른 그래픽 유저 인터페이스들도 대부분 기본 개념은 비슷하기 때문에 기본 개념을 확실히 다지는 것이 중요합니다. 10.1 그래픽 유저 인터페이스란 무엇인가? 10.2 위젯 사용을 위한 기본 코드 10.3 레이아웃 매니저 10.4 tkinter 제어 변수와 기본 이벤트 10.5 색상과 폰트 지정 10.6 레이블 10.7 버튼 10.8 라디오버튼 10.9 체크 버튼 10.10 스케일 10.11 엔트리 10.12 이벤트와 바인드 파이널 코딩 테스트 이 장의 요점 10.1 그래픽 유저 인터페이스란 무엇인가? 그래픽 유저 인터페이스는 GUI(Graphic User Interface)라고 하며 "그래픽을 이용해서 프로그램과 사용자가 대화하는 체제"를 의미합니다. 한글이나 엑셀, 파워포인트 같은 프로그램들이 GUI를 잘 활용하고 있습니다. 이 프로그램들에 표시되는...

2024.03.03
코딩 배우기 : 파이썬이 알아듣는 명령문들이 있어요 (파이썬)

모든 프로그래밍 언어는 컴퓨터에게 작업을 지시하기 위해서 그 언어 고유의 명령문을 사용합니다. 파이썬에서는 다음과 같은 4가지 형식의 명령문을 사용합니다. • 연산문 • 함수 • 메소드 • 일반 명령문 이 명령문 형식들을 하나씩 살펴봅시다. 첫번째 명령문 형식인 "연산문"을 봅시다. 연산문은 +(덧셈), -(뺄셈), *(곱셈), /(나눗셈) 또는 =(할당)과 같은 연산자를 사용하여 작업을 지시합니다. 우리는 앞에서 숫자, 변수와 같은 데이터와 연산자를 혼합해서 다음과 같이 연산문을 입력해보았습니다. >>> price=5000 >>> count=50 >>> total=price*count >>> total 250000 >>> 연산문은 가장 간단하고 가장 많이 사용하는 명령문 형식입니다. 우리가 일상에서 사용하는 연산식과 거의 비슷한 식을 사용합니다. 두번째 명령문 형식은 "함수"입니다. 앞서 사용했던 print 명령문이 바로 함수입니다. 흔히 "print 함수"라고 부르지요. 연습 삼아 print 함수이외에 다른 함수들을 몇 개 더 입력해봅시다. 앞의 코드에서는 int 함수, float 함수, abs 함수 등 3개의 함수를 사용했습니다. 함수(function)가 무엇인지는 뒤에서 배울 겁니다. 여기서는 다음과 같은 형식으로 기술하는 명령문을 함수라고 한다는 것을 기억해두세요. 함수는 항상 함수 이름 뒤에 괄호( )를 기술하고 그 괄호 ...

2024.01.16
코딩 배우기 : 쉘 창 말고 코딩 창도 있어요 (파이썬)

앞서 우리는 [IDLE (Python 3.6 32-bit)] 메뉴로 쉘 창을 호출했지요. IDLE는 "Integrated DeveLopment Environment"의 약자이며 "통합개발환경"이라는 의미이지요. 파이썬으로 프로그램을 작성할 때 도움을 주는 기능을 제공하기 때문에 "통합개발환경"이라고 부를 뿐 대단한 다른 의미가 있는 것은 아닙니다. 쉘 창에서는 명령문을 입력하고 엔터 키를 누르면 즉시 그 실행 결과가 표시됩니다. 쉘 창은 간단한 명령문이나 연산식을 테스트하고 실행 결과를 확인하기에는 아주 좋습니다. 그러나 아무리 길게 코딩을 해도 쉘 창은 한번 닫으면 모든 작업 내용이 없어집니다. 우리가 코딩한 내용을 그대로 저장해두려면 파일을 사용해야 합니다. 파이썬 코딩 파일을 만들어두면 됩니다. 이제 다음과 같이 해보세요. 쉘 창에서 [File][New File] 메뉴를 클릭합니다. Ctrl + N 키를 눌러도 됩니다. 코딩 창에는 프롬프트가 아니라 커서가 표시됩니다. 앞의 창을 보고 틀리지 않게 천천히 입력하세요. 각 명령문 뒤에서 엔터키를 누르면 커서가 다음 라인으로 이동합니다. 쉘 창과 다르게 코딩 창에서는 명령문을 입력하고 엔터 키를 눌러도 즉시즉시 결과가 표시되지 않습니다. 코딩 창에 입력되는 명령문은 모든 명령문이 다 입력된 후 한꺼번에 실행되기 때문입니다. 또한 쉘 창과 달리 10+4와 같이 수식만 입력해서 결과를 ...

2024.01.16
코딩 배우기 : 숫자와 문자열을 제일 많이 사용해요 (파이썬)

프로그램을 작성하면서 우리는 숫자나 문자열을 많이 사용하게 됩니다. 그래서 파이썬에서는 숫자와 문자열을 처리하는 다양한 명령문을 제공합니다. 이들을 하나씩 살펴봅시다. 숫자는 정수와 소수점이 있는 실수를 사용할 수 있으며 숫자를 처리하는 유용한 함수들이 있습니다. int 함수는 다음 코드와 같이 실수를 정수로 변환합니다. 소수점 이하는 무조건 절사됩니다. >>> num=10.999 >>> int(num) 10 >>> int(10.999) 10 >>> float 함수는 정수를 실수로 변환합니다. 이 함수는 명시적으로 데이터를 실수로 변환할 필요가 있을 때 사용합니다. >>> float(10) 10.0 >>>num=10*3 >>> float(num) 30.0 >>> abs 함수는 다음 코드와 같이 절대값을 구합니다. >>> abs(-100) 100 >>> abs(-200.25) 200.25 >>> 반올림을 하기 위해서는 다음과 같은 2가지 형식의 round 함수를 사용합니다. >>> round(5.123456) # 실수를 정수로 반올림 5 >>> round(5.654321) # 실수를 정수로 반올림 6 >>> round(5.123456, 4) # 반올림해서 소수점 이하 4자리까지 5.1235 >>> round(5.123456, 2) # 반올림해서 소수점 이하 2자리까지 5.12 pow 함수는 다음 코드와 같이 제곱승 값을 구합니다. >>...

2024.01.16
코딩 배우기 : 입력은 키보드, 출력은 화면이 기본이지요 (파이썬)

모든 프로그래밍 언어에서 가장 기본적으로 익혀야 할 명령문이 입력 명령문과 출력 명령문입니다. 파이썬의 기본 입력문은 input 함수이며 기본 출력문은 print 함수입니다. 먼저 이들부터 알아봅시다. input 함수는 키보드에서 값을 입력받을 때 사용합니다. 프로그램에서 사용하는 값들 즉, 숫자나 문자열은 변수에 할당해놓고 사용할 수 있습니다. 할당연산자인 "="를 사용해서 다음과 같이 변수에 값을 할당하고 계산했지요. ▶ sample02.py price=10000 count=5 total=price*count print(total) ▶ 실행결과 50000 >>> 앞의 코드는 "sample02.py"를 실행할 때마다 price 변수는 항상 10000이고, count 변수는 항상 5입니다. 하지만 다음의 코드처럼 input 함수를 사용하면 프로그램을 실행할 때마다 price 변수와 count 변수의 값을 키보드에서 맘대로 입력할 수 있습니다. ▶ sample03.py price=input("가격을 입력하세요 : ") #01 price=int(price) #02 count=input("개수를 입력하세요 : ") #03 count=int(count) #04 total=price*count #05 print(total) #06 ▶ 실행결과 가격을 입력하세요 : 10000 개수를 입력하세요 : 5 50000 >>> ▶ 코드해설 01, 03 ...

2024.01.16
코딩 배우기 : 반복을 중단하거나 건너뛸 수도 있어요 (파이썬)

for와 while 반복문의 반복 실행을 제어하기 위해 다음의 2개 명령문을 사용할 수 있습니다. • break : 반복 실행을 중지하고 반복문을 벗어납니다. • continue : 특정 회차의 반복만 건너뛰고 계속 반복합니다. break 문과 continue 문의 역할을 보여주는 다음 코드를 보세요. ▶ 실행결과 ▶ sample29.py for i in range(1, 6): #01 if i == 3: #02 break #03 print(i) #04 print("="*20) for i in range(1, 6): #05 if i == 3: #06 continue #07 print(i) #08 ▶ 코드해설 이 코드에는 2개의 for 문이 있으며, 이들은 1에서 5까지 숫자를 출력합니다. 그런데 03 라인에서는 break 문을 사용했으며, 07 라인에서는 continue 문을 사용했습니다. 03 라인의 break 문은 for 문에 지정된 반복 규칙을 깨버리고 for 반복문을 벗어납니다. 앞의 코드에서는 i 변수의 값이 3이면 break 문이 실행되어 for 반복문을 완전히 벗어납니다. 그래서 2까지만 출력됩니다. 07 라인의 continue 문은 continue 문 이후에 기술된 명령문을 실행하지 않고 다음 회차의 반복을 계속합니다. i 값이 3이면 continue 문이 실행되어, 그 아래 08 라인의 print() 문이 실행되지 않고...

2024.01.16
코딩 배우기 : 터틀 그래픽 모듈로 애니메이션도 만들지요 (파이썬)

앞서 배운 모듈은 다양한 기능을 제공합니다. 그 중에서도 여기서 소개하는 터틀 그래픽(turtle graphics) 모듈은 아주 간단히 그래픽 애니메이션을 사용할 수 있게 합니다. 다음 코드를 보세요. ▶ 실행결과 "Python Turtle Graphics" 창이 뜨면서 4각형이 그려집니다. ▶ sample41.py import turtle #01 turtle 모듈을 가져옴 turtle.shape("turtle") #02 거북이 모양으로 지정 turtle.speed(1) #03 그려지는 속도를 지정 turtle.pensize(5) #04 선의 굵기를 지정 turtle.forward(100) #05 앞쪽으로 100 픽셀 이동 turtle.right(90) #06 오른쪽으로 90도 회전 turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90)) ▶ 코드해설 01 라인은 "turtle"이라는 모듈을 가져옵니다. 이 모듈은 그래픽 애니메이션 기능을 제공합니다. 02 라인에서는 거북이 모양을 지정합니다. 이 라인이 없으면 거북이 대신 작은 삼각 기호가 표시됩니다. "turtle" 대신 "triangle"을 기술하면 좀 큰 삼각형이 표시되며, "circle"을 기술하면 동그라미가 표시됩니다. 03 라인은 ...

2024.01.16
코딩 배우기 : 파이썬을 설치해요

"파이썬(python)"은 프로그래밍 언어의 이름입니다. 내 컴퓨터가 프로그래밍 언어인 파이썬을 해독하려면 "python"이라는 프로그램을 내 컴퓨터에 설치해야 합니다. 파워포인트를 설치해야 내 컴퓨터에서 프레젠테이션 슬라이드를 만들 수 있고, 워드를 설치해야 내 컴퓨터에서 워드 문서를 작성할 수 있지요. 그와 마찬가지로 어떤 프로그래밍 언어를 내 컴퓨터에서 사용하려면 그 언어 프로그램을 설치해야 하지요. 파이썬 설치하기 파이썬 언어 프로그램은 아래의 주소를 방문하시면 무료로 다운받아 설치할 수 있습니다. 설치를 시작해봅시다! http://www.python.org/downloads 화면에 보이는 노란 버튼을 클릭합니다. 현재는 이 버튼에 "Download Python 3.8.0"이라고 표시되어 있습니다. 여러분이 다운로드 받을 때는 이 버전이 다르게 표시될 수 있습니다. 우리의 학습에는 3.0 이상의 버전이면 어떤 버전도 상관없습니다. 표시되는 다른 버전을 다운로드 받아도 됩니다. 다운로드 받은 "python 3.8.0.exe" 파일을 클릭하면 다음과 같이 "Python 3.8.0 (32-bit) Setup" 창이 표시됩니다. 이 창 아래의 "Add Python 3.8 to PATH"에 체크하고 "Install Now"를 클릭합니다. 그러면 설치가 진행됩니다. 설치가 끝나면 [close] 버튼을 클릭하세요. 이제 파이썬 설치가 끝났...

2024.01.16
코딩 배우기 : 리스트는 반복문과 잘 어울려요 (파이썬)

변수는 한개의 값에 할당되는 이름이지만, 리스트(list)는 한 개 이상 여러 개의 값에 할당되는 이름입니다. 오랫만에 쉘 창을 열고 다음과 같이 입력해보세요. >>> a = [0, 1, 2, 3, 4] >>> a[0] 0 >>> a[1] 1 >>> a[2] 2 >>> a[3] 3 >>> a[4] 4 리스트는 여러 개의 값을 저장해두고 하나씩 순서대로 처리할 때 사용합니다. 리스트의 사용 규칙 리스트의 사용 규칙은 다음과 같습니다. • 리스트는 대괄호 안에 콤마로 구분해서 값을 기술합니다. • 리스트를 구성하는 값들을 요소(element)라고 합니다.(리스트 a는 5개의 요소로 구성되었습니다) • 각 요소는 "리스트이름[순서번호]"와 같이 구분할 수 있습니다. • 순서번호는 숫자, 변수, 수식이 될 수 있으며 이를 인덱스(index)라고 합니다. 리스트는 다음과 같이 문자열과 숫자를 혼합해서 구성할 수도 있습니다. >>> ele = ["사과", "apple", 100, "###"] >>> ele[0] '사과' >>> ele[1] 'apple' >>> ele[2] 100 >>> ele[3] '###' >>> 앞의 2개 리스트를 그림으로 표현하면 다음과 같습니다. 다음 코드는 2개 리스트의 요소들을 동일한 위치의 요소끼리 곱해서 그 결과를 더한 후 출력합니다. 그래서 결과는 14가 출력됩니다. ▶ 실행결과 14 >>> ▶ sample32...

2024.01.16
코딩 배우기 : 프로그래밍 데이터도 이름이 있으면 구분하기 쉬워요 (파이썬)

김답답씨가 컴퓨터에 앉아 열심히 키보드를 두드리고 있습니다. 사장님이 슬쩍 들여다 보니 아래와 같이 연산식을 입력하면서 작업하고 있습니다. 답답씨가 무슨 계산을 하는건지... 1000은 무엇이고, 20은 무엇인지 사장님은 알 수가 없습니다. 그 옆에서 김슬기씨도 컴퓨터로 똑같은 작업을 하고 있습니다. 슬기씨는 아래와 같이 영어 단어를 사용하면서 계산을 하고 있습니다. 음... 가격이랑 개수로 금액을 계산하고 있구만... 지나가던 사장님도 식의 의미를 쉽게 알 수 있습니다. price, count와 같은 의미있는 단어(이름)들을 사용했기 때문이지요. 변수와 할당 연산자 김슬기씨가 사용한 price와 count는 숫자 값에 할당된 이름입니다. price는 숫자 1000에 부여한(할당한) 이름이고, count는 숫자 20에 부여한(할당한) 이름입니다. 이렇게 값에 할당된 이름을 "변수(variable)"라고 합니다. 또한 이름을 할당하는 기능을 가진 "=" 기호를 "할당연산자(assignment operator)"라고 합니다. 수학에서는 "=" 기호가 "같다"는 의미로 사용되지만 프로그래밍에서는 "할당연산자"입니다. 나중에 보겠지만 프로그래밍에서 "같다"는 "==" 기호를 사용합니다. 앞에서 보았듯이 변수를 사용하면 우리 인간이 코드를 읽고 판독하기 쉬울 뿐 아니라 코드를 효율적으로 작성할 수 있습니다. 이런 변수는 특히 연산식을 작성할 ...

2024.01.16
코딩 배우기 : 코드 편집 창 사용하기 (파이썬)

앞서 우리는 [IDLE (Python 3.6 32-bit)] 메뉴로 쉘 창을 호출했었지요. 파이썬에서 IDLE는 "Integrated Development and Learning Environment"의 약자이며 "통합개발과 학습환경"이라는 의미이지요. 파이썬으로 프로그램을 작성(개발)하는 것을 배울 때 도움을 주는 기능을 제공하기 때문에 "통합개발과 학습환경"이라고 부를 뿐 대단한 다른 의미가 있는 것은 아닙니다. 대부분의 다른 언어에서는 IDLE가 "Integrated DeveLopment Environment"의 약자이며 "통합개발환경"이라고 합니다. 파이썬에서는 특별히 "Learning"이라는 단어를 추가하여 교육에 중점을 두고 있음을 의미하고 있으나, IDLE라는 용어는 "통합개발환경"이라는 의미로 널리 사용되고 있습니다. 코드 파일 만들기 쉘 창에서는 명령문을 입력하고 엔터 키를 누르면 즉시 그 실행 결과가 표시됩니다. 쉘 창은 간단한 명령문이나 연산식을 테스트하고 실행 결과를 확인하기에는 아주 좋습니다. 그러나 아무리 길게 코딩을 해도 쉘 창은 한번 닫으면 모든 작업 내용이 없어집니다. 우리가 코딩한 내용을 그대로 저장해두려면 파일을 사용해야 합니다. 파이썬 코드 파일을 만들어두면 됩니다. 이제 다음과 같이 해보세요. 쉘 창에서 [File][New File] 메뉴를 클릭합니다. Ctrl + N 키를 눌러도 됩니다. 코드 ...

2024.01.16
코딩 배우기 : for 문은 3개의 값을 사용할 수 있어요 (파이썬)

생애 첫 코딩을 위하여 앞에서는 range(5)와 같이 range 함수에 숫자 인수를 하나만 지정해서 그 인수의 크기만큼 반복을 했습니다. 하지만 range 함수는 인수를 3개까지 지정할 수 있습니다. 여러 개의 인수를 사용하는 range 함수 range 함수는 2개 또는 3개의 인수를 사용할 수 있습니다. for 문을 사용하는 다음의 "sample19.py"를 실행시켜 보세요. ▶ 실행결과 1 2 3 4 5 6 ===== 1 3 5 >>> ▶ sample19.py for num in range(1, 7): #01 print(num) #02 print("=====") for x in range(1, 7, 2): #03 print(x) #04 ▶ 코드해설 01 라인은 1부터 시작해서 6까지(7까지가 아님) 1씩 증가시켜서 숫자를 만들고 02 라인에서그 숫자를 출력합니다. 03 라인은 1부터 시작해서 6까지(7까지가 아님) 2씩 증가시켜서 숫자를 만들고 04 라인에서그 숫자를 출력합니다. 다양한 for 문의 사용 형식 이 코드에서 사용한 for 문의 형식은 다음과 같습니다. •증감값을 생략하면 증감값은 1이 됩니다. •종료값은 실제 원하는 종료값보다 1이 더 크게 지정해야 합니다. 1부터 특정 수까지의 모든 자연수의 곱을 팩토리얼(factorial, "!")이라고 하지요. 사용자가 입력한 수의 팩토리얼을 구하는 프로그램을 봅시다. 다음과...

2024.01.16
코딩 배우기 : 클래스를 사용해서 프로그램을 레고처럼 조립해요 (파이썬)

생애 첫 코딩을 위하여 컴퓨터는 초기에 군사적인 목적으로 개발되었으나 세월이 흐르면서 점차 민간 영역에서 비즈니스의 효율화를 위해 사용되기 시작했습니다. 그에 따라 자연히 프로그램의 크기도 커지고 복잡해지기 시작했지요. 특히 인터넷의 확산으로 컴퓨터들이 연결되면서 온라인으로 즉시 처리할 일들이 급속히 늘어났습니다. 온라인 시스템 도입 이전에는 짧게는 며칠에서, 길게는 몇 달 동안 나홀로 프로그램을 개발하기도 했습니다. 그러나 온라인 시스템이 도입되고 프로그램이 다양화, 대형화하면서 더 이상 혼자 프로그램을 개발할 수 없게 되었습니다. 처음부터 끝까지 하나의 프로그램으로 개발하기에는 프로그램의 크기도 너무 커졌으며 혼자서는 도저히 감당할 수 없는 작업이 되었습니다. 객체 지향 프로그래밍 그래서 사람들은 생각했지요. 프로그램을 나누어서 작성할 수는 없을까? 기능별로 분리해서 코드를 작성하고 그것들을 조립해서 커다란 프로그램을 만들 수는 없을까? 함수나 모듈처럼 아예 내 프로그램을 그렇게 조각조각 나누어서 작성하고 누구나 쉽게 그 조각들을 가져가서 사용하게 하면 소프트웨어 자동화 공장이 될 수도 있을텐데... 그런 고민과 연구를 거듭하면서 프로그램을 개발하는 다양한 방법이 발표되었습니다. 그 중에서 널리 인정을 받고 실무에 채택된 방법이 "객체 지향 프로그래밍"이라는 방법입니다. 객체 지향 프로그래밍은 "Object Oriented Pro...

2024.01.16