본문 바로가기

프로그래밍 언어

(18)
동작 파라미터화 (behavior parameterization) 동작 파라미터화 (behavior parameterization)란? 동적 파라미터화는 아직 어떻게 실행할지 정해지지 않은 코드 블록을 의미한다. 이를 이용하여 변경되는 요구사항에 효과적으로 대응할 수 있다. 동작 파라미터화를 이용해 변하는 요구사항에 대응할 수 있는 코드를 만드는 예제 첫 번째 시도: 녹색 사과 필터링 아래는 녹색 사과를 필터링하는 코드이다. 만약 빨간 사과도 필터링하고 싶을 때에는 filterGreenApples 메서드를 복사해 filterRedApples 메서드를 만들고 if 문의 조건을 빨간 사과로 변경해야 한다. 이런 식으로 요구 사항마다 비슷한 반복된 코드가 추가되게 된다. 코드를 추상화해 반복을 없앤다. enum Color { RED, GREEN } public static ..
[Visual Studio] 개발자를 위한 글꼴, 줄 번호 설정법 [Visual Studio] 개발자를 위한 글꼴, 줄 번호 설정법 개발자를 위한 글꼴 Consolas Visual Studio 한국어 버전의 기본 글꼴은 돋움체이지만, 돋움체보다 마이크로소프트에서 개발자 전용으로 만든 Consolas를 사용하는 것이 좋다. 아래의 표를 보면 차이를 확실하게 느낄 수 있다. 돋움체 맑은 고딕 Consolas 숫자 1, 대문자 I, 소문자 l과 대문자 O, 숫자 0이 잘 구분되지 않는 다른 글꼴에 비해 Consolas는 한 눈에 차이를 알 수 있다. 이는 오타에 의한 실수를 줄이는데 크게 도움이 된다. Consolas 글꼴 설정Visual Studio 메뉴에서 [도구]->[옵션]을 선택하고 [환경]->[글꼴 및 색]에서 글꼴을 Consolas로 선택한다. 줄 번호 설정컴파일..
[Python 함수] 함수 (Function) - 1 [Python 함수] 함수 (Function) - 1 함수(Function) 간단히 말해서 프로그래밍에서 함수는 코드를 묶어 놓은 것이다. 프로그래밍을 하다보면 중복되는 코드가 많이 발생한다. 그 중복되는 코드를 하나의 함수로 정의하고 가져다 쓰면 많은 중복을 줄일 수 있다. 함수는 입력 값과 리턴 값을 가진다. 입력 값과 리턴 값은 없어도 함수지만, 대부분의 함수는 입력 값에 대한 리턴 값이 존재하게 구현된다. - 함수의 구조123456# 입력인자와 반환값은 있을 수도 없을 수도 있다.def 함수명(입력인자1, 입력인자2...): ... return 반환값cs - 함수의 사용123456789101112131415161718192021# 입력 값이 없는 함수def say(): return 'hello' ..
[Python 변수] mutable과 immutable의 차이 [Python 변수] mutable과 immutable의 차이 변수변수는 객체를 가리킨다. $$ num = 10 $$컴퓨터 메모리에 10이라는 값이 저장되고 num은 10이 저장된 메모리의 위치를 가리킨다.10이라는 정수형 객체를 num이라는 변수가 가리키고 있는 것이다. mutable, immutablemutable은 값이 변한다는 뜻이고, immutable은 값이 변하지 않는다는 의미이다. 자료형마다 특징이 다른데 코드를 통해 알아보도록 하자. - 숫자형 (Number) : immutable - 문자열 (String) : immutable - 리스트 (List) : mutable - 튜플 (Tuple) : immutable - 딕셔너리 (Dictionary) : mutable 숫자, 문자열, 튜플은 ..
[Python 제어문] 반복문 for [Python 제어문] 반복문 for 반복문 for파이썬의 for문은 다른 언어의 for문과는 다르다. 12345678910111213for x in [1, 2, 3]: # 리스트의 요소들을 하나씩 x에 대입한다. print x for x in (1, 2, 3): # 튜플 print x dic = {'key1':1, 'key2':2, 'key3':3} # 딕셔너리for x in dic: print x print dic[x] for x in 'abcdefg': # 문자열 print xColored by Color Scriptercs 12345678910111213141516171819202122123 123 key33key22key11 abcdefgcs딕셔너리는 순서가 없는 자료형이기 때문에 위와 같이 출..
[Python 제어문] 반복문 while [Python 제어문] 반복문 while 반복문 while while은 조건이 거짓이 될 때까지 수행 문장을 반복해주는 구문이다.12345i=0 while i =5: breakcs 12341234cs 조건문으로 돌아가기 : continuecontinue를 사용하면 while문 실행 중에 조건문으로 돌아갈 수 있다. 1~10까지 수에서 짝수를 출력하는 프로그램을 만들어 확인해 보겠다. 12345678i = 0 while i 10: # i가 10보다 커지면 break breakcs 12345678910111234567891011cs
[Python 제어문] 조건문 if elif else [Python 제어문] 조건문 if elif else 조건문 if 조건문 if를 사용하여 조건에 따라 프로그램의 실행제어를 할 수 있다. if, elif, else 다음에 :(콜론)이 오는 것을 유의한다. 123456789a = 100b = 100 if a>b: print 'a가 b보다 크다.'elif a y (x가 y보다 크다) x = y (x가 y보다 크거나 같다) x == y (x와 y가 같다) x != y (x와 y가 같지 않다) - and, or, not12345678910a = 0 if a > -1 and a 10 or a == 0: print 'or 조건 만족' if not a: print 'not 조건 만족'cs 123and 조건 만족or 조건 만족not 조건 만족cs - in, not i..
[Python 자료형] 집합 (Set) [Python 자료형] 집합 (Set) 집합 자료형 집합 자료형은 파이썬 2.3부터 지원된 자료형이다. 순서가 없고 중복을 허용하지 않는다는 특징을 가진다. 중복을 허용하지 않는다는 특징은 프로그래밍에서 매우 유용하게 사용된다. 123456# 집합 선언set1 = set([1,2,3])set2 = set("Conor Mcgregor") print set1print set2cs 12set([1, 2, 3])set([' ', 'C', 'e', 'g', 'M', 'c', 'o', 'n', 'r'])cs이와 같이 순서가 없고, 중복을 허용하지 않는다. 집합에 데이터를 추가 삭제하는 방법은 아래와 같다.1234567891011121314151617# 집합 선언set1 = set([1,2,3]) # 값 하나 추가 ..