🔍QA & TEST/🧑🏻‍💻Python 25

[Python] 날개 달기 : 클래스 (Class)

클래스 (Class)초보 개발자들에게 클래스(class)는 넘기힘든 장벽과도 같은 존재이다.독자들 중에도 클래스라는 단어를 처음 접하는 이들이 있을 것이다.그러면 도대체 클래스가 무엇인지, 클래스가 왜 필요한지 매우 기초적인 것부터 차근차근 함께 알아보자. 클래스는 왜 필요한가?프로그래머들이 가장 많이 사용하는 프로그래밍 언어 중 하나인 C 언어네는 클래스가 없다.이 말은 굳이 클래스가 없어도 프로그램을 충분히 만들 수 있다는 뜻이다.파이썬으로 잘 만든 프로그램을 살펴봐도 클래스를 사용하지 않고 작성한 것이 매우 많다.즉, 클래스는 지금까지 공부한 함수나 자료형처럼 프로그램 작성을 위해 꼭 필요한 요소는 아니다. 하지만 프로그램을 작성할 때 클래스를 적재적소에 사용하면 프로그래머가 얻을 수 있는 이익은 ..

[Python] 입출력 : 사용자 입출력

사용자 입출력우리들이 사용하는 대부분의 완성된 프로그램은 사용자 입력에 따라 그에 맞는 출력을 내보낸다.대표적인 예로 게시판에 글을 작성한 후 [확인] 버튼을 눌러야만(입력) 우리가 작성한 글이 게시판에 올라가는(출력) 것사용자 입력 활용하기사용자가 입력한 값을 어떤 변수에 대입하고 싶을 때는 어떻게 해야 할까?input 사용하기input은 사용자가 키보드로 입력한 모든 것을 문자열로 저장한다.>>> a = input()Life is too short, you need python>>> a'Life is too short, you need python' 프롬프트를 띄워 사용자 입력받기사용자에게 입력받을 때 '숫자를 입력하세요'나 '이름을 입력하세요'라는 안내 문구 또는 질문을 보여주고 싶을 때가 있다.그..

[Python] 입출력 : 파일 읽고 쓰기

파일 생성하기다음 코드를 IDLE에 에디터로 작성하여 실행해 보자.# newfile.pyf = open("새파일.txt", 'w')f.close()# 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성된 것을 확인할 수 있다.# 파일을 생성하기 위해 '파이썬 내장 함수 open'을 사용했다. open 함수는 다음과 같이 '파일 이름'과 '파일 열기 모드'를 입력값으로 받고 결괏값으로 파일 객체를 리턴한다.파일 열기 모드설명r읽기 모드 : 파일을 읽기만 할 때 사용한다.w쓰기 모드 : 파일에 내용을 쓸 때 사용한다.a추가 모드 : 파일의 마지막에 새로운 내용을 추가할 때 사용한다.※ 파일을 쓰기 모드로 열면 해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고,   해당 파일이 존재하지 않으면 ..

[Python] 입출력 : 함수

함수란 무엇인가?함수를 설명하기 전에 믹서를 생각해 보자.  - 우리는 믹서에 과일을 넣는다. 그리고 믹서를 사용해서 과일을 갈아 과일 주스를 만든다.우리가 믹서에 넣은 과일은 '입력', 과일 주스는 '출력(결괏값)"이 된다. 그렇다면 믹서는 무엇일까?믹서는 과일을 입력받아 주스를 출력하는 함수와 같다. 우리가 배우려는 함수가 바로 믹서와 비슷하다.입력값을 가지고 어떤 일을 수행한 후 그 결과물을 내어 놓는 것이 바로 함수가 하는 일이다.우리는 어려서부터 함수에 대해 공부했지만, 함수에 대해 깊이 생각해 본 적은 별로 없을 것이다.예를 들어 y = 2x + 3도 함수이다.하지만 이를 수학 시간에 배운 직선 그래프로만 알고 있을 뿐, 입력값(x)에 따라 출력값(y)이 변하는 함수라는 사실에 대해서는 관심을..

[Python] 제어문 : for문 (조건문)

for 문파이썬의 직관적인 특징을 가장 잘 보여준 것이 바로 for 문이다.while문과 비슷한 반복문인 for 문은 문장 구조가 한눈에 들어온다는 장점이 있다.for 문을 잘 사용하면 프로그래밍이 즐거워질 것이다.for 문의 기본 구조리스트나, 튜플, 문자여르이 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 수행된다.for 변수 in 리스트(또는 튜플, 문자열): 수행할_문장1 수행할_문장2 ...예제를 통해 for 문 이해하기for 문은 예제를 통해서 살펴보는 것이 가장 알기 쉽다.1. 전형적인 for 문['one', 'two', 'three'] 리스트의 첫 번째 요소인 'one'이 먼저 i 변수에 대입된 후 print(i) 문장을 수행한다.두 번째, 세 번째 리스트의 마지..

[Python] 제어문 : while문 (조건문)

while 문의 기본 구조while 조건문: 수행할_문장1 수행할_문장2 수행할_문장3 ... while 문은 조건문이 참인 동안 while 문에 속한 문장들이 반복해서 수행된다.'열 번 찍어 안 넘어가는 나무 없다.'라는 속담을 파이썬 프로그램으로 만들면 다음과 같다.>>> treeHit = 0>>> while treeHit treeHit = treeHit + 1은 프로그래밍을 할 때 매우 자주 사용하는 기법이다.treeHit 값을 1만큼씩 증가시킬 목적으로 사용하며 treeHit += 1처럼 작성해도 된다.treeHit조건문조건 판단수행하는 문장while문00 참나무를 0번 찍었습니다.반복11  참나무를 1번 찍었습니다.반복22  참나무를 2번 찍었습니다.반복33  참나무를 3번..

[Python] 제어문 : if문 (조건문)

if 문은 왜 필요할까?'돈이 있으면 택시를 타고 가고, 돈이 없으면 걸어간다.'프로그래밍도 사람이 하는 것이므로 위 문장처럼 주어진 조건을 판단한 후 그 상황에 맞게 처리해야 할 경우가 생긴다.이렇듯 프로그래밍에서 조건을 판단하여 해당 조건에 맞는 상황을 수행하는 데 쓰는 것이 바로 if 문이다. # money에 true를 대입했으므로 money는 참이다.# 따라서 if 문 다음 문장이 수행된다.>>> money = True>>> if money:... print("택시를 타고 가라")... else:... print("걸어 가라")...택시를 타고 가라 위 코드가 실행된고 "택시를 타고 가라" 라는 문장이 출력되는 과정을 아래 순서도가 보여준다.이렇게 프로그램 실행 과정을 순서도로 그려..

[Python] 기초 : 변수 (자료형의 값을 저장하는 공간)

변수프로그래밍 초보자가 쉽게 이해하기 어려울 수 있는 부분이므로 당장 이해되지 않는다면 그냥 읽고 지나가도 된다. 파이썬에 대해서 공부하다보면 자연스럽게 알게 될 것이다.변수는 어떻게 만들까?# 다음 예와 같은 a, b, c를 '변술'라고 한다.>>> a = 1>>> b = "python">>> c = [1, 2, 3]# 변수를 만들 때는 위 예처럼 =(assignment) 기호를 사용한다.변수_이름 = 변수에_저장할_값# 다른 프로그래밍 언어 C나 JAVA에서는 변수를 만들 때 자료형의 타입을 직접 지정해야 한다.# 하지만 파이썬은 변수에 저장된 값을 스스로 판단하여 자료형의 타입을 지정하기 때문에 더 편리하다.변수란?파이썬에서 사용하는 변수는 객체를 가리키는 것이라고도 말할 수 있다.객체란 우리가 지..

[Python] 자료형 : 불(Bool)

불 (bool)불 자료형이란 참(True)과 거짓(False)을 나타내는 자료형이다.불 자료형은 다음 2가지 값만을 가질 수 있다.True : 참을 의미한다.False : 거짓을 의미한다.True나 False는 파이썬의 예약어로true, false와 같이 작성하면 안 되고 첫 문자를 항상 대문자로 작성해야 한다. 불 자료형은 어떻게 사용할까?>>> a = True>>> b = False# 따옴표로 감싸지 않은 문자열을 변수에 지정해서 오류가 발생할 것 같지만, 잘 실행된다.# type 함수를 변수 a와 b에 사용하면 두 변수의 자료형이 bool로 지정된 것을 확인할 수 있다.>>> type(a)>>> type(b)type(x)는 x의 자료형을 확인하는 파이썬의 내장 함수이다. 불 자료형은 조건문의 리턴값..

[Python] 자료형 : 집합(Set)

집합 (set)집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.집합 자료형은 어떻게 만들까?# 집합 자료형은 다음과 같이 set 키워드를 사용해 만들 수 있다.>>> s1 = set([1, 2, 3])>>> s1{1, 2, 3}# 위와 같이 set()의 괄호 안에 리스트를 입력하여 만들거나 다음과 같이 문자열을 입력하여 만들 수도 있다.>>> s2 = set("Hello")>>> s2{'e', 'H', 'l', 'o'}비어 있는 집합 자료형은 s = set()로 만들 수 있다. 집합 자료형의 특징위에 set("Hello")의 결과가 좀 이상하지 않은가?l 문자 하나 바쪄 있고, 순서도 뒤죽박죽이다. 그 이유는 set에 다음과 같은 2가지 특징 때문이다.중복을 허용하지 않는다.순서가 없다.(Unor..