7.2.2 객체 생성하기(Constructing Objects) ※ constructor 와 initializer를 번역함에 있어 영어로는 간단히 구분이 가능 하지만 한국어로는 간단히 구분히 되지 않아 둘 다 편의상 생성자로 번역하였습니다. 아래의 포스팅을 보기 전에 이 둘의 의미를 아래와 같이 이해하시기 바랍니다. ◇ initializer(__init__) : __init__메소드를 사용하여 생성자를 만든 경우, 이 생성자를 initializer 라고 표현 ◇ constructor : initializer(__init__) 메소드를 이용하여 정의한 생성자를 사용(use)할 경우, 이 생성자를 constructor 라고 표현. - 클래스(class)가 정의되어 있을 떄, 클래스의 생성자(construct..
7.1 객체와 클래스(Objects and Classes) - 객체 지향 프로그래밍(object-oriented programming)은 큰 스케일의 프로그램과 GUI를 효과적으로 개발 할 수 있게 해준다. - 루프문이나 선택문을 이용해 간단한 프로그램을 만들 수는 있지만, 규모가 큰 프로그램이나 그래픽 유저 인터페이스(Graphical User Interface,GUI)를 개발하기에는 조금 부족하다. - 이번 챕터에서는 객체 지향 프로그래밍(object-oriented programming)을 통해 GUI와 큰 규모의 프로그램을 빌드하는데 쓰일 기초를 배울 예정이다. 7.2 객체를 위한 클래스 정의하기(Defining Classes for Objects) - 클래스는 객체의 속성(properties)과..
6.13.2 탑-다운(보텀-업) 구현 (Top-Down and/or Bottom-Up Implementation) 이전 포스트 함수 추상화와 단계적 개선(1) 을 보려면 ●클릭하기● *printCalendar 도식화 - 앞서 분할-정복으로 문제를 세분화 시켰다면, 이제는 그 문제들을 해결할 코드를 구현 할 차례다. - 일반적으로, 서브 문제(subproblem, 분할-정복 시 생겼던 하위 문제들)들은 함수를 구현한 코드에 상응하지만, 일부는 불필요할 정도로 단순하다. - 우리는 어떤 모듈로 함수를 구현 할 지, 그리고 어떻게 다른 함수들과 조합할 지 결정해야 한다. - 이전 포스트 부터 배웠던 방법을 토대로 코드를 구현한다면, 코드를 해석할 때 훨씬 읽기 쉬워진다. - 이전 포스트에서 예로 들었던 pri..
6.12 사례 연구: 랜덤 ASCII 문자 생성하기(Generating Random ASCII Characters) - 문자는 정수로 작성이 가능하다. 랜덤 문자 생성은 정수를 생성하는 것과 같다. - 아스키 문자는 0부터 127 까지의 정수로 이루어진 아스키코드를 가지고 있다. - 랜덤 아스키 문자를 생성하기 위해서, 0부터 127까지 정수를 랜덤으로 발생시켜야 한다. - 그 후 chr 함수를 이용하여 정수로 부터 문자를 얻을 수 있다. chr(randint(0, 127)) - 소문자의 아스키코드를 랜덤으로 생성하기 위해서 ord 함수를 이용할 수 도 있다. ord('a') - 그래서 소문자 a 부터 z까지의 아스키 코드를 얻기 위해선 ord('a') 와 ord('z')를 이용해 아래와 같이 코드를 얻..
6.8 사례 연구: 10진수를 16진수로 변환하기(Converting Decimals to Hexadecimals) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #10진수를 16진수 string으로 변환 def decimalToHex(decimalValue): hex = "" while decimalValue != 0: hexValue = decimalValue % 16 hex = toHexChar(hexValue) + hex decimalValue = decimalValue // 16 return hex #정수를 단일 16진수 digit 문자로 바꾸기 def toHexChar(hexValue): if 0
6.6 레퍼런스값(=참조 값)에 의한 인자 전달(Passing Arguments by Reference Values) *tip 레퍼런스값(=참조 값)의 개념이 헷갈린다면, c언어의 주소 값과 같다고 생각하면 이해하기 쉽다. * 앞선 내용의 용어 복습 def 함수이름 (매개변수1, 매개변수2): print("함수가 호출 되었습니다.") 함수이름(인자1, 인자2) # 함수를 인자와 함께 호출한다. - 인자(arguments)를 이용해 함수를 호출 할 때, 각 인자의 레퍼런스(argument's reference)는 함수의 매개변수에 전달됩니다. - 파이썬의 모든 데이터는 사실 객체(object)이기 때문에, 한 객체를 가르키는 변수는 사실상 한 객체를 가르키는 레퍼런스(reference)이다. - 인자(ar..
6.4 반환값이 있는 함수 혹은 반환값이 없는 함수(Functions with/without Return Values) - 함수가 반드시 반환 값을 가지고 있어야 하는 것은 아니다. - 값을 반환하지 않는 함수를 void 함수(void function)이라고 부른다. *반환 값이 없는 함수 예제 - 성적 출력 프로그램 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 def printGrade(score): if score >= 90.0: print('A') elif score >= 80.0: print('B') elif score >= 70.0: print('C') elif score >= 60.0: print('D') else : print('F')..
6.1 함수(Functions) - 함수(Functions)는 코드를 재사용할 일이 있거나, 좀 더 조직적으로, 좀 더 간단하게 코드를 만들 때 사용한다. - 예를 들어 코드 1 에서 10 까지의 덧셈, 20에서 37까지의 덧셈, 50에서 60 까지의 덧셈의 결과를 출력하는 프로그램을 작성할 경우, 덧셈을 할 값들만 다르지 다른 코드는 다 비슷하다. - 이렇게 연산할 값만 다르고 공통된 작업을 하는 코드를 재사용한다면 더 효율적으로 코드를 작성 할 수 있다. - 이럴 때 이용하는 기능이 바로 함수(Functions)이다. * 함수를 사용하지 않았을 때 1 2 3 4 5 6 7 8 9 10 11 12 13 14 sum = 0 for i in range(1,11): sum += i print("Sum fro..
- Total
- Today
- Yesterday
- 버츄어박스
- 파이썬 진수 변환
- 백준
- 파이썬 연산자
- 파이썬 객체
- 파이썬 문자열
- 파이썬 if문
- 파이썬 함수
- 백준 10451
- 자바
- 자바스크립트 그래프
- 파이썬
- css 그리드
- 백준 1874
- 파이썬 단계적 개선
- 자바스크립트 자료구조
- 자바 에센셜 실습문제
- 파이썬 터틀
- 명품 c++ 실습
- 파이썬 선택문
- 자료구조
- 파이썬 for
- css
- 파이썬 클래스
- 파이썬 리스트
- 파이썬 while
- css 박스
- 파이썬 예제
- 웹
- 백준 11501
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |