반응형

프로그래밍 언어 99

파이썬 28. 모듈

이번 글에서는 모듈에 대해서 알아보도록 하겠습니다. 모듈 모듈은 클래스, 함수, 변수 등을 저장해놓은 파일들을 말합니다. 우리는 이러한 모듈들을 불러와서 그 안에 있는 내용을 사용할 수 있는데, 파이썬에 이미 내장되어있는 모듈도 있고, 우리가 직접 모듈을 만들어서 나중에 사용할 수 도 있습니다. 예를 들어 사칙연산이라는 모듈을 만들어 그 안에 사칙연산을 하는 클래스, 함수를 만들어 저장한 뒤 해당 모듈을 다른 프로그램에서 불러들여 사칙연산을 수행할 수 있습니다. 그렇다면 이제 실제로 모듈을 만들어서 사용하는 법에 대해서 알아봅시다. 먼저, 프로젝트 폴더를 우클릭해서 원하는 이름의 .py파일을 하나 만듭니다. 전 myCal이라는 파일을 하나 생성해주겠습니다. 그리고 위와 같이 사칙연산과 mod연산을 수행하..

파이썬 27. 메서드 오버라이딩

이번 글에서는 메서드 오버라이딩과 연산자 오버로딩에 대해서 알아보도록 하겠습니다. 메서드 오버라이딩 메서드 오버라이딩의 경우 상속개념 중 꼭 알아야 하는 것 중 하나입니다. 오버라이딩의 사전적 의미는 "우선하다, 중단시키다"인데, 부모로부터 상속받은 메서드를 자식클래스에서 재정의할 때 이를 오버라이딩이라고 합니다. 여기서 말하는 재정의는 이름만 같고, 메서드의 내용은 변경시키는 것을 의미합니다. 저번 글에서 상속관계에서 동일한 이름을 가진 메서드의 우선수위에 대해 이야기했는데, 자식클래스가 가장 먼저라는 것이 바로 이 오버라이딩 때문입니다. 예를 들어 부모클래스에 fun1이라는 메서드가 있고, 자식클래스에서 다시 fun1이라는 메서드를 정의하면 자식클래스의 인스턴스에서 호출되는 것은 자식클래스의 fun1..

파이썬 26. 상속

이번 글에서는 클래스에 이어서 클래스 상속에 대해서 알아보도록 하겠습니다. 상속 상속은 객체지향 언어에서 매우 중요한 개념 중 하나인데요, 이 상속은 과연 뭘까요? 먼저 '상속'이라는 단어의 뜻을 생각해봅시다. 구글에 검색하면 '상속이란 사람의 사망에 의한 재산 및 신분상의 지위의 포괄적인 승계를 말한다.'라고 나옵니다. 간단하게 말하면 자신의 재산을 다른사람에게 물려주는 것을 이야기합니다. 객체지향 언어에서는 이 개념이 클래스 사이에서 적용될 수 있습니다. 특정한 한 클래스가 다른 클래스에게 자신이 가진 모든 변수와 메서드, 즉 클래스의 기능을 전해주는 것을 '상속'이라고 합니다. 중요한 점은 다른 클래스에게 상속을 해줘도 상속해준 본래 클래스도 계속해서 사용할 수 있다는 점입니다. 말로 설명하면 어려..

파이썬 25. 클래스-2

저번 글에 이어서 클래스에 대해서 알아보도록 하겠습니다. self 먼저, 저번 글에서 등장했지만 뒤로 미루어 둔 self라는 놈에 대해서 알아보겠습니다. class TV(): power = False def powerChange(self): self.power = not self.power t1 = TV() t2 = TV() print("t1의 전원 : {}, t2의 전원 : {}".format(t1.power, t2.power)) t1.powerChange() print("t1의 전원 : {}, t2의 전원 : {}".format(t1.power, t2.power)) 저번 글에서 위와 같은 클래스를 정의했었는데, powerChange라는 함수를 정의했을 때 매개변수로 self가 자동으로 들어가는 것을 ..

파이썬 24. 클래스-1

이번 글에서부터는 클래스라는 것에 대해서 알아보도록 합시다. 클래스 일단 클래스가 과연 무엇인지 알아보도록 합시다. 클래스는 많은 사람들이 흔히 '설계도'라고 표현하곤 하는데, 실제 코드를 통해서 클래스가 무엇인지 차근차근 알아봅시다. class TV(): class 클래스명(): 일단 클래스를 만드는 방법은 아주 간단한데, 위와 같이 class라는 예약어 뒤에 클래스명을 적어주시기만 하면 됩니다. 이러면 우리는 일단 TV라는 클래스를 하나 만든것입니다. 그럼 이제 곰곰히 생각해봅시다. 우리가 사용하는 TV에는 과연 무엇이 필요할까요? class TV(): power = False 일단은 이 TV가 켜져있는지 꺼져있는지 판단하기 위한 값이 필요할 것입니다. 또한 TV를 처음 만들면 당연히 전원은 꺼져있기..

파이썬 23. 파일 입출력

이번 글에서는 파이썬에서 파일을 읽고 파일에 쓰는 법에 대해서 알아보도록 하겠습니다. 파일 생성 먼저, 데이터를 파일에 저장하는 법부터 알아봅시다. 그러려면 먼저 파일에 입력할 데이터와, 데이터를 입력할 파일이 필요할 것입니다. 파이썬에서 파일을 생성하는 방법은 다음과 같습니다. f = open('newFile.txt', 'w') 파일 객체명 = open('파일경로', '모드') 먼저, 파일 객체명을 정해주시고 open이라는 함수를 사용합니다. open함수의 인수로는 파일명과 모드가 기본적으로 필요한데, 파일명은 실행할 파일의 경로를 적어줍니다. 이때 경로를 적지 않고 파일명만 입력하면, 기본적으로 프로젝트의 root폴더를 경로로 지정합니다. 모드의 경우 파일을 어떤 방식으로 실행할지 지정하는 부분인데,..

파이썬 22. 함수-2

이번 글에서는 함수에 대해 이어서 알아보도록 하겠습니다. 일단 함수의 기본적인 선언 방법부터 코드로 다시 한번 복습해보고 진행하겠습니다. def addF(a, b): return a + b sum = addF(10, 20) print(sum) 위와 같이 코드를 작성해주시면 addF라는 함수명으로 함수를 작성하여, 매개변수 a, b를 사용합니다. 이 함수는 프로그램 내의 다른 함수에서 호출할 수 있고, addF함수 내에서도 호출할 수도 있습니다. 반면, 위의 함수와는 다르게 입력값, 반환값이 없는 함수도 존재합니다. def printHello(): print("Hello World!") printHello() 이렇게 매개변수, 반환값이 없는 함수를 작성할 수도 있습니다. 이렇게 간단하게 복습을 끝냈으니 이..

파이썬 21. 함수-1

이번 글에서는 함수에 대해서 알아보도록 하겠습니다. 함수란? 먼저, 함수란 무엇일까요? 함수란 영어로 funtion이라고 하며, 어떤 특정한 작업을 수행하기 위해 만들어진 코드들의 집합입니다. 우리가 지금까지 계속 사용해왔던 print, add, del 등등도 함수입니다. 또한 함수라는 이름 외에도 '메서드'라는 이름으로도 불리니 기억해두시길 바랍니다. 그럼 함수는 왜 사용하는걸까요? 이는 말할 필요도 없이 프로그램을 좀 더 쉽고 편하게 설계하기 위해서입니다. 프로그래밍을 하다 보면 어떠한 일정한 작업을 여러 번 해야 하는 경우가 많으실 겁니다. 이는 적게는 10줄 내외가 될 수도 있고, 그 이상의 복잡한 내용의 코드가 될 수도 있습니다. 그런데 이 코드를 커다란 프로그램 안에서 여러 번 재사용해야 한다..

파이썬 20. 반복문-while문

저번 글에서는 파이썬에서 쓰는 반복문 중 하나인 for문에 대해 알아봤었는데, 이번 글에서는 다른 하나인 while문에 대해서 알아보도록 합시다. while문 일단, while문의 기본적인 구조는 다음과 같습니다. while 조건식: 실행 코드1 실행 코드2 . . . 위와 같은 구조에서 조건식이 True일 경우 실행 코드를 계속해서 반복수행 하는 것이 while문 입니다. 실행 순서는 먼저 조건식을 검사한 후, 실행코드를 실행합니다. 그 후 반복할 때마다 계속해서 조건식을 검사하여 반복을 더 수행할지 종료할지 검사합니다. 그래서 for문같은 경우 일정한 횟수만큼 반복할 때 주로 사용하고, while문의 경우 특정한 조건이 만족될 때 작업을 계속해서 수행해야할때 주로 사용합니다. 그럼 간단한 코드로 wh..

파이썬 19. 반복문-for문

이번 글에서부터는 반복문에 대해서 알아보도록 하겠습니다. 반복문 반복문이란 말 그대로 특정한 코드를 반복해서 수행하는 것을 의미합니다. 예를 들어 num이라는 변수에 1을 50번 더하는 작업을 수행해야 한다고 생각해봅시다. 이럴 때는 코드를 어떻게 작성하면 될까요? num = 0 num += 1 num += 1 num += 1 num += 1 num += 1 . . . 먼저, 위와 같이 num에 1을 더하는 코드를 50번 작성하면 일단 해결이 가능할 것입니다. 하지만 이러한 작업은 매우 비효율적이고 공간도 많이 차지합니다. 또한 만약에 1을 50번 더하는 것이 아니라 만번, 천만번 더해야 한다면 이렇게는 할 수 없을 것입니다. 따라서 이러한 작업을 더 편하게 수행할 수 있도록 반복문을 사용합니다. 파이썬..

반응형