2009년 11월 22일 일요일

정규화 예제

다음의 파일로 부터 물음에 답하고 사용된 Query를 잘 보관하고 계시오.

 

2009년 11월 19일 목요일

의료교육에서의 가상현실

 

정호가 낀방 블로그에 올린 내용에 추가하여...

정흠이가 있는 연구실에서 올린 Virtual Surgery...

지금 생각으로는 이런걸 바탕으로 이것저것 교육과 평가에 응용해 보려고 한다.

Python3 - 자료구조(Set, Tuple, Dictionary)

Set

 

보통 알고 있는 집합과 유사함.

할당시 중괄호({})를 사용한다.

Ex)

a = {1, 2, 3}

b = {2, 3, 4}

 

Set 연산

 

합집합(union, |)

a.union(b)                     // {1, 2, 3, 4}

a | b                             // {1, 2, 3, 4}

 

교집합(itersection, &)

a.intersection(b)           // {2, 3}

a & b                           // {2, 3}

 

차집합(difference)

a - b                           // {1}

 

 

 

 

Tuple

 

리스트와 유사하나 읽기전용. 즉, 생성시에 만들어진 원소만으로 이루어진다. (추가, 삭제 안됨, 마치 const 인 것으로 생각하면 좋을 것 같음)

생성은 괄호(())를 사용

 

Ex)

t = (1, 2, 3)

(a, b) = (1, 2)                    // print (a, b)로 하면 1 2가 출력됨

 

 

list, set, tuple은 전용의 생성자 함수 list(), set(), tuple()을 가지고 있으며 이를 이용하여 언제든지 변환 가능

a=set((1, 2, 3))                 // a는 set

b = list(a)                         // b는 list

c = tuple(b)                      // c는 tuple

 

 

Dictionary

 

연관배열과 같은 것으로 "키:값"의 쌍을 갖는다. (생성자 함수는 dict())

d = dict(a=1, b=2, c=3)

di = {"a" : "apple", "b" : "banana"}

 

dictionay 명과 키에 의해 값을 반환하거나 새로이 추가할 수 있다.

di["a"]                  // 'apple' 반환

di['c'] = 'cherry'    // 키는 'c' 이고 값은 'cherry'인 원소 추가

 

삭제

del문을 한 원소씩 제거

del di['c']    // 키 값이 'c'인 원소 제거

 

.clear()를 이용하여 전체 dictionary 삭제

di.clear()      // 어떤 원소도 갖지 않는 빈 dictionary로 만듦

 

함수들

.items()                 // 한 번 호출시 현재 Dictionary에서 가르키고 있는 원소를 반환하고 포인터를 다음으로 이동

                            // 반복문과 같이 혼용되어 전체 혹은 일부의 원소를 반환할 때 사용

.keys()                  // 키값만 반환

.values()               // 값들만 반환

Python 3 - 자료구조(리스트)

리스트

 

리스트는 대괄호([])를 사용하여 자료구조를 생성한다.

리스트에 참여하는 멤버는 ,를 구별자로 하여 저장한다.

Ex) colors=['red', 'green', 'gold']

 

개별값 가져오기 (슬라이싱)

  결과가 colors[1]과 같이 리스트내의 단일 원소를 명시적으로 지정한 경우는 해당 자료형

      type(colors[1])            // colors[1]의 결과는 'green'

  그렇지 않을 경우의 결과값은 리스트

      type(colors[1:2])         // colors[1:2]의 결과는 ['green']

Ex)

colors[0]     // ['red']

colors[1:2]   // ['green']

colors[-1]    // ['gold']

colors[:2]     // ['red', 'green']

 

 

리스트에 원소 추가하기

 

append(값)

  리스트의 맨 뒤에 새로운 원소를 추가한다.

  colors.append('blue')

  colors.append('blue', 'yellow')

  colors.append(['blue', 'yellow'])     // 위의 것과 다른 결과를 보이는데 위에는 원소 두개를 추가한 것이고

                                                      // 이 문장은 리스트의 원소로 새로운 리스트 ['blue', 'yellow']를 추가한다.

 

insert(위치 인덱스, 값)

  해당 인덱스에 새로운 값을 넣는다.

  colors.insert(1, 'black')                    // 1번 인덱스(즉, 두번째)에 새로운 값 'black'을 집어넣는다.

 

extend(값)

  마지막에 새로운 값을 넣는다.

  colors.extend('white', 'gray')            // 에러. 새원소를 넣을땐 다음과 같이 리스트로 넣는다.

  colors.extend(['white', 'gray'])

 

+ 연산자

  colors += ['red']

  colors += 'red'                                  // 새로운 원소로 'red'가 아닌 'r', 'e', 'd'를 추가한다.

 

 

원소 가져오기

 

index(리스트 원소, 시작위치, 끝나는 위치)

  해당 원소의 리스트를 가져온다.

  colors.index('red')               // 0

  colors.index('red', 1)           // 8

  colors.index('red', 1, 5)        // 주의할 점....해당 구간에 원소가 없으면 에러발생

 

 

count(리스트 원소)

  리스트내에 해당 원소의 갯수를 반환한다.

  colors.count('red')              // 2

 

 

pop([인덱스])

  가장 뒤의 값을 뽑아서 결과를 반환하고 해당 원소를 리스트에서 제거한다.

  인덱스를 지정하면 해당 인덱스의 원소를 반환하고 제거한다.

  colors.pop()                       // 'd', 리스트에서 빠짐

  colors.pop(1)                     // 'black', 인덱스 1인 black이 빠진다.

 

 

 

원소 삭제하기

 

remove(원소값)

  해당 값을 가지는 원소를 제거한다. 반환값 없음

  colors.remove('red')             // 동일값에 대해 앞의 'red'가 빠진다.

 

Python 3 - 변수

일반 다른 프로그래밍언어와 마찬가지로

 

변수명 = 값

 

의 형태로 사용

 

다른 스크립트 언어의 특징을 따른다.

즉, 별도의 자료형을 지정하지 않는다.

대신 생성시에 자료형을 정할 수 있다.

자료형을 확인하는 함수는 type()

Ex)

year = 2008

십진수 2008을 값으로 갖는 변수 year

 

진법

: 진수 변환함수의 반환값은 문자열임을 주의

 

8진수

0o(숫자0, 소문자 o)10

oct(10)

10진수 10을 8진수로 변환

 

16진수

0xff

hex(38)

10진수 10을 16진수로

 

2진수

0b01

bin(38)

10진수 38을 이진수로

 

 

복소수

x = 3- 4j

type(x)   // complex

실수 3

허수 -4

x.imag     // 허수부 반환

x.real      // 실수부 반환

 

 

문자(열)

x = 'string'

x[0]            // 's'

x[1:4]          // 'tri'

x[-2]           // 'ng'

x[:2]            // 'st'

x[0] = 'o'     // 안됨, 튜플과 같이 읽기전용이라고 생각하면 됨

 

문자열 관련 연산

'py' 'thon'   // 'python'

'py'+'thon'  // 'python'

'pyp * 3      // 'pypypy'

 

텍스트큐브....트랙백 사용방법이...

조금 복잡하게 생각된다...

일단 글을 쓰고 글보내기를 클릭해야 하네...

훔...

일단은 뭐 글케 알고 넘어가지 뭐 ㅋ

Blog 다운 Blog

수업중에 우연히 만들게 된 이 블로그...

어느 정도는 내 미래에 대해 생각해 둔 것이 이제는...

내 생각을 정리할 공간이 필요하다는 생각이 든다...

 

이곳에 내 생각을 끄적여 보자...