본문 바로가기
728x90
반응형

Python/Python Basic21

21. Python - 코드 예외 처리(try, except, else, finally 문) Python의 기본적인 사용을 위해 알아야 할 그 마지막. 코드 예외처리에 대해 포스팅하려고 한다. 지금까지 기본적인 Python 코드에 대해 학습하면서, 어떤 분들은 스스로 자그만한 프로그램이라도 한 두 개씩은 만들어 보았을 것이다. 그리고 이 프로그램들을 스스로 제작하면서 적어도 100개 이상의 코드 에러를 경험했을 것이다(그렇지 않다면 프로그래밍에 두각을 나타내는 천재거나 연습을 안했다던가 두 가지 중 하나다). 물론, 이런 에러가 프로그래머의 실수로 인해 나타나는 경우가 대부분이지만, 프로그램머가 의도하지 않았음에도 필연적으로 이런 오류를 맞닥들이는 상황이 발생한다. 예를 들면 아래와 같은 경우다. -------------------------------------------------------.. 2020. 5. 22.
20. Python - 파일 읽기, 쓰기 및 추가 대부분의 프로그램은 프로그램 구동에 필요한 파일을 가지고 있다. 예를 들어, 게임 프로그램의 경우 특정 시점에 저장된 파일을 불러들이는 기능이 있는데, 프로그램에서 저장 당시 게임의 내용을 고스란히 기억할 수 있는 파일이 존재해야 한다. 해당 시점에 게임을 저장하기 위해서는 저장 당시의 게임 내용을 저장할 파일에 쓸 수 있어야 하며, 이 게임을 불러들이기 위해서는 저장된 파일을 읽어들일 수 있어야 한다. 대부분의 프로그래밍 언어는 이러한 파일의 읽기 및 쓰기 기능을 제공한다. 그리고 Python은 여타 프로그램에 비해 매우 간편한 방식으로 파일을 읽고 쓰고 내용을 추가하는 것이 가능하다. 하나씩 살펴보자. 1. 파일의 읽기, 쓰기, 내용 추가 절차 파일을 읽거나 쓰거나, 내용 추가를 하기 전에, Pyth.. 2020. 5. 17.
19. Python - 다른 Python 파일의 함수, 변수를 호출하기 메모장이나, 기타 편집 프로그램을 이용해 Python 코드를 작성하여 프로그램을 몇 개 만들다 보면, 각자 자주 사용하는 코드가 하나 둘씩 나타날 것이다. 필자의 경우에는, 프로그램 내에서 어떤 작업을 진행할 것인지 말것인지에 대해 물어보고 사용자의 응답에 따라 서로 다른 작업이 진행되도록 하는 코드를 자주 작성한다. 예를 들면 아래와 같은 것. ---------------------------------------------- print("계속 하시겠습니까?, end =="") answer = input("").lower() if(answer == 'y'): print("continue") else(answer == 'n') print("return") ---------------------------.. 2020. 5. 3.
18. Python - Python Class에 대하여 오늘 포스팅할 주제인 Class는 전략 시뮬레이션 게임을 해보셨던 분들이라면 이해가 조금 빠를 것이다. 이 클래스라는 개념은 객체를 다루기 위해 사용하는 문법이며, 클래스를 사용하기 위한 예시로 들기 가장 좋은 예는 20년 전에 대유행을 했던 스타크**트라는 게임이다(물론, Age of Empire와 같이 유닛이 나오는 유사 게임도 마찬가지다) 조금, 조악하지만, 텍스트 형태로 스타크**트를 만들어보려 한다고 해보자. 필자는 우선 SCV 4마리(?)를 먼저 생성하려고 한다. SCV1 = "SCV1" SCV2 = "SCV2" SCV3 = "SCV3" SCV4 = "SCV4" 그리고, 이들 SCV가 이동하거나, 건설하거나, 광물을 채취할 수 있는 등의 행동을 제어할 수 있는 함수를 만들려고 한다. def m.. 2020. 4. 15.
17. Python - Python 함수의 입력값(인자) 수를 동적으로 정의하기 앞선 포스팅에서, 함수가 무엇이며, 함수의 형태가 대략적으로 어떤 모양을 띄고 있는지 알아보았다. 함수는 입력값 입력, 이에 따른 연산 진행 및 출력값 반환이라는 3 단계의 프로세스를 가지는 것이 일반적이다. 이번 포스팅에서 설명할 내용은, 함수의 입력값에 해당하는 함수의 인자에 관한 이야기다. 앞의 포스팅에서도 예시로 든 것이지만, 덧셈을 실행하는 함수를 제작하려면, 당연히 2개 이상의 피연산값이 함수의 인자로 들어와야 한다. 따라서 덧셈을 진행하는 함수는 일반적으로 다음과 같은 형태를 띈다. ---------------------------------------------- def sum(a, b): return a + b -------------------------------------------.. 2020. 3. 17.
16. Python - Python 함수의 종류 및 사용 예시 함수는, 입력받은 특정 값을 함수 내에 정의된 연산을 통해 일관된 결과값으로 돌려주는 기능을 한다. 아마 정규 교육과정을 무사히 거치신 분들이라면, 수학 시간에 이런 형태의 수식을 많이 보았을 것이다. f(x) = x + 1 이 말은 f(x) 함수는 입력되는 숫자(x)에 1을 더해서 결과를 반환한다는 뜻이다. 즉, f(2)의 결과는 2+1인 3이되고, f(99)는 99+1인 100이 된다. 수식으로 나타내면 아래와 같이 될 것이다. f(2) = 3 f(99) = 100 컴퓨터의 함수도 수학의 함수와 별반 다를 것이 없다. 하지만 프로그래밍을 하다보면, 함수의 사용 목적에 따라 함수의 종류가 몇 가지로 나누어짐을 알 수 있다(물론 공식적으로 Python에서 함수의 종류에 대해 명시하지는 않지만...). 함.. 2020. 3. 1.
15. Python - Python 함수 사용 이유, 선언 및 호출 Python으로 어떤 절차를 고스란히 수행하는 프로그램을 만든다고 가정해보자. 예를 들면, "강아지의 하루"라는 이름의 게임을 제작한다던지 말이다. 강아지가 아침에 일어난다. 일어나는 과정을 나열하면 다음과 같을 것이다. 1. 아침이 밝았다. 2. 햇살이 강아지를 비춘다. 3. 강아지가 밝아진 주변을 인식하고 눈을 뜬다. 4. 기지개를 편다. 일어나보니, 배가 고프다. 밥을 먹는 과정은 아래와 같을 것이다. 1. 밥 주는 놈이 자고 있는가? 1-1. Yes: 침대위로 올라가 이놈의 뺨을 사정없이 핥핥(?)하는 동시에 "왈왈" 짖는다. 1-2. No : 이놈을 빤히 쳐다본다. 이놈이 나의 배고픔을 인지했는가? 1-2-1. Yes: 이놈이 밥을 준다. 1-2-2. No: 이놈을 보고 입을 열어 왈왈 짖으면서.. 2020. 2. 7.
14. Python - input() 함수로 필요한 정보를 입력해보자. 지금까지 작성해왔던 python 코드의 대부분은, 외부에서 입력된 값을 토대로 프로그램이 작동하는 것이 아니라, 코드 내의 변수값을 참조하여 작동하는 것이 전부였다. 예를 들어, 구구단 같은 경우, 코드 내에서 단에 해당하는 변수인 dan의 값을 지정해주어야만, 프로그램이 해당 단을 출력해주었다. 2단부터 9단까지 순차적으로 출력을 진행해주는 프로그램이 존재한다고 가정해보자. 필자는 이 프로그램을 통해, 3단에 해당하는 구구단만 검색하고 싶은데, 이 프로그램은 필자의 마음을 1도 알아주지 않고, 2단부터 9단까지 모든 정보를 출력해준다. 구구단 프로그램이 사용자가 조회하기를 원하는 단의 숫자를 입력하면, 그 숫자에 해당하는 단만 출력하도록 만들 수는 없는 것일까? 물론 가능하다. input()이라는 함수.. 2019. 10. 19.
13. Python - 메모장 등으로 프로그램 코드 작성하기 지금까지 필자가 python 코드를 실행하는 방식은, cmd 창에 python이라는 명령어를 입력하여 한 줄 한 줄 코드를 입력하는 방식이었다. 하지만, 프로그램을 만들기 위해서는 코드들이 순차적으로 작동될 수 있도록 만들어 줄 수 있어야하는데, cmd를 이용한 방식은 이렇게 진행하기가 매우 까다롭다. 따라서, 프로그래머들은 프로그래밍을 하는 도중에 자신의 코드가 잘 작동하는지 확인할 목적으로 cmd 창을 이용할 뿐, 그 외적인 부분에서 cmd를 이용해 코드를 작성하는 경우는 매우 드물다. 그럼, 프로그램이 작동하는 코드는 어디에 작성하는 것일까? 윈도우는 기본적으로 메모장이라고 불리는 텍스트 편집기를 제공한다. 원래 이 메모장은 프로그래머들이 코드를 작성하는 툴이었다. 따라서, 메모장에 파이썬 코드를 .. 2019. 10. 1.
12. Python - 반복문 제어. pass, break와 continue 문, 지난 포스팅에서, 반복문 안에 조건문을 작성하여 특정 조건과 일치하는 결과만 제외하는 프로그래밍을 만들어보았다. 조건문을 반복문 안에 사용함으로써, 구구단 2단 중 2x5와 2x7을 제외한 결과를 출력할 수 있다. 여러 방법이 있지만, 필자는 다음과 같은 방법을 사용해서 문제를 해결했다. =================================== dan = 2 n = 1 condition = (n==5 or n==7) while (n < 10) : if( condition ) : print("") else: print("{} x {} = {}".format(dan, n, dan * 2) n = n+1 =================================== 지금까지의 Python 포스팅 내용.. 2019. 8. 31.
11. Python - 조건문(if, else, if-else) 이전 포스팅에서는 반복문을 통해, 구구단을 출력하는 과정에 대해 알아보았다. 코드의 실행 결과, 2단의 경우, 2 x 1 부터 2 x 9까지 연산값이 출력되었다. 그런데, 여러분들이 어떤 이유로 인해 2 x 5와 2 x 7의 값은 제외한 값이 출력되도록 코드를 수정해야한다고 요구를 받았다. 지금까지의 내용을 토대로, 2 x 5와 2 x 7 값을 제외하고 2단의 내용을 출력하고자 한다면, for 문을 사용할 수 없다. 2 x n 연산의 n 값이 제외되어야 하는 뚜렷한 규칙이 존재하지 않기 때문이다. 하지만, 그렇다고 2단 연산을 print() 함수로 일일이 입력하는 것은 효율적이지도 않을 뿐더러, 귀찮은 작업이다. 그렇다면, for 문을 대대적으로 수정하지 않고, 요구 내용을 충족시킬 수 있는 방법은 없을.. 2019. 8. 26.
10. Python - 반복문 2. while문으로 구구단 출력하기 반복적인 코드를 자동으로 실행할 수 있도록 만드는 반복문은, 지난 포스팅에서 언급한 for 문 외에, while문도 존재한다. 코드가 작동하는 알고리즘 자체는 for문과 다르지 않다. 하지만, for 문과 달리, list나 tuple을 사용하지 않고, 프로그래머가 정의한 특정 조건을 이용해 코드 반복을 유지한다.(처음 들으면 뭔 소린가 싶겠지만, 예제를 보면 바로 이해가 될 것이다) 그럼, while 문에서 사용한다는 저 조건들은 어떻게 만들어지는가? 우선, 조건의 생성에 필요한 비교 연산자 및 boolean이라고 불리는 자료형에 대해 먼저 알아야한다. 1. 비교연산자 말 그대로, 비교 연산자라는 것은 서로 다른 두 값을 비교할 때 사용하는 연산자를 말한다. 초등학교 수학시간 때 많이 배웠던 부등호, 등.. 2019. 8. 20.
728x90
반응형