목록코딩 공부 (70)
인생은 여행 人生は旅
2023 점프 투 파이썬 생성자 이번에는 우리가 만든 FourCal 클래스를 다음과 같이 사용해 보자. >>> a = FourCal() >>> a.add() Traceback (most recent call last): File "", line 1, in File "", line 6, in add AttributeError: 'FourCal' object has no attribute 'first' FourCal 클래스의 인스턴스 a에 setdata 메서드를 수행하지 않고 add 메서드를 먼저 수행하면 ‘AttributeError: 'FourCal' object has no attribute 'first'’오류가 발생한다. setdata 메서드를 수행해야 객체 a의 객체변수 first와 second가 생..
2023 점프 투 파이썬 클래스를 어떻게 만들지 먼저 구상하기 클래스는 무작정 만드는 것보다 클래스로 만든 객체를 중심으로 어떤 식으로 동작하게 할지 미리 구상한 후 생각한 것을 하나씩 만들면서 완성해 나가는 것이 좋다. 사칙 연산 가능을 가진 FourCal 클래스가 다음처럼 동작한다고 가정해 보자. 먼저 a = FourCal()를 입력해서 a라는 객체를 만든다. >>> a = FourCal() 그런 다음 a.setdata(4, 2)처럼 입력해서 숫자 4와 2를 a에 지정해 준다. >>> a.setdata(4, 2) a.add()를 수행하면 두 수를 합한 결과(4 + 2)를 리턴한다. >>> a.add() 6 a.mul()을 수행하면 두 수를 곱한 결과(4 * 2)를 리턴한다. >>> a.mul() 8 ..
2023 점프 투 파이썬 클래스는 왜 필요한가? 프로그래머들이 가장 많이 사용하는 프로그래밍 언어 중 하나인 C 언어에는 클래스가 없다. 이 말은 굳이 클래스가 없어도 프로그램을 충분히 만들 수 있다는 뜻이다. 파이썬으로 잘 만든 프로그램을 살펴봐도 클래스를 사용하지 않고 작성한 것이 매우 많다. 즉, 클래스는 지금까지 공부한 함수나 자료형처럼 프로그램 작성을 위해 꼭 필요한 요소는 아니다. 하지만 프로그램을 작성할 때 클래스를 적재적소에 사용하면 프로그래머가 얻을 수 있는 이익은 많다. 예제를 통해 한번 생각해 보자. 계산기 프로그램을 만들며 클래스 알아보기 여러분 모두 계산기를 사용해 보았을 것이다. 계산기에 숫자 3을 입력하고 +를 입력한 후 4를 입력하면 결괏값으로 7을 보여 준다. 다시 한번 +..
2023 점프 투 파이썬 파일 생성하기 다음 코드를 IDLE 에디터로 작성하여 실행해 보자. # newfile.py f = open("새파일.txt", 'w') f.close() 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성된 것을 확인할 수 있을 것이다. 파일을 생성하기 위해 파이썬 내장 함수 open을 사용했다. open 함수는 다음과 같이 ‘파일 이름’과 ‘파일 열기 모드’를 입력값으로 받고 결괏값으로 파일 객체를 리턴한다. 파일_객체 = open(파일_이름, 파일_열기_모드) 파일 열기 모드에는 다음과 같은 것들이 있다. 파일열기모드설명 r 읽기 모드: 파일을 읽기만 할 때 사용한다. w 쓰기 모드: 파일에 내용을 쓸 때 사용한다. a 추가 모드: 파일의 마지막에 새로운 내용을 추가할 때 ..
2023 점프 투 파이썬04-2 사용자 입출력우리들이 사용하는 대부분의 완성된 프로그램은 사용자 입력에 따라 그에 맞는 출력을 내보낸다. 대표적인 예로 게시판에 글을 작성한 후 [확인] 버튼을 눌러야만(입력) 우리가 작성한 글이 게시판에 올라가는(출력) 것을 들 수 있다.우리는 이미 함수 부분에서 입출력이 어떤 의미를 가지는지 알아보았다. 지금부터는 좀 더 다양한 입출력 방법에 대해서 알아보자.사용자 입력 활용하기input 사용하기프롬프트를 띄워 사용자 입력받기print 자세히 알기큰따옴표로 둘러싸인 문자열은 + 연산과 동일하다문자열 띄어쓰기는 쉼표로 한다한 줄에 결괏값 출력하기사용자 입력 활용하기사용자가 입력한 값을 어떤 변수에 대입하고 싶을 때는 어떻게 해야 할까?input 사용하기>>> a = in..
2023 점프 투 파이썬 함수 안에서 선언한 변수의 효력 범위 함수 안에서 사용할 변수의 이름을 함수 밖에서도 동일하게 사용한다면 어떻게 될까? 이런 궁금증이 생겼던 독자라면 이번에 확실하게 답을 찾을 수 있을 것이다. 다음 예를 살펴보자. # vartest.py a = 1 def vartest(a): a = a +1 vartest(a) print(a) 먼저 a라는 변수를 생성하고 1을 대입했다. 그리고 입력으로 들어온 값에 1을 더해 주고 결괏값은 리턴하지 않는 vartest 함수를 선언했다. 그리고 vartest 함수에 입력값으로 a를 주었다. 마지막으로 a의 값을 print(a)로 출력했다. 과연 어떤 값이 출력될까? vartest 함수에서 매개변수 a의 값에 1을 더했으므로 2가 출력될 것 같지만..
2023 점프 투 파이썬 매개변수를 지정하여 호출하기 함수를 호출할 때 매개변수를 지정할 수도 있다. 다음 예를 살펴보자. >>> def sub(a, b): ... return a - b 2개의 숫자를 입력받은 후 첫 번째 수에서 두 번째 수를 뺄셈하여 리턴하는 sub 함수이다. 이 함수는 다음과 같이 매개변수를 지정하여 사용할 수 있다. >>> result = sub(a=7, b=3) # a에 7, b에 3을 전달 >>> print(result) 4 매개변수를 지정하면 다음과 같이 순서에 상관없이 사용할 수 있다는 장점이 있다. >>> result = sub(b=5, a=3) # b에 5, a에 3을 전달 >>> print(result) -2 입력값이 몇 개가 될지 모를 때는 어떻게 해야 할까? 입력값..
2023 점프 투 파이썬 함수란 무엇인가? 함수를 설명하기 전에 믹서를 생각해 보자. 우리는 믹서에 과일을 넣는다. 그리고 믹서를 사용해서 과일을 갈아 과일 주스를 만든다. 우리가 믹서에 넣는 과일은 ‘입력’, 과일 주스는 ‘출력(결괏값)’이 된다. 그렇다면 믹서는 무엇일까? 믹서는 과일을 입력받아 주스를 출력하는 함수와 같다. 우리가 배우려는 함수가 바로 믹서와 비슷하다. 입력값을 가지고 어떤 일을 수행한 후 그 결과물을 내어 놓는 것이 바로 함수가 하는 일이다. 우리는 어려서부터 함수에 대해 공부했지만, 함수에 관해 깊이 생각해 본 적은 별로 없을 것이다. 예를 들어 �=2�+3도 함수이다. 하지만 이를 수학 시간에 배운 직선 그래프로만 알고 있을 뿐, 입력값(x)에 따라 출력값(y)이 변하는 함수라..