Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dept. of School of Systems Biomedical Science SoongSil University.

Similar presentations


Presentation on theme: "Dept. of School of Systems Biomedical Science SoongSil University."— Presentation transcript:

1 Dept. of School of Systems Biomedical Science SoongSil University

2 Why Python? Simple structure -> Fast programming Support Object-oriented programming GUI Tk IDLE (Integrated development environment) Introduction2

3

4 http://ebio.ssu.ac.kr/python-2.6.6.msi

5

6 Installing with distributions: –EPD; http://www.enthought.com/productes/epd.php http://www.enthought.com/productes/epd.php –Python(x,y): http://www.pythonxy.com Resources –http://docs.scipy.orghttp://docs.scipy.org Tutorial –http://docs.python.org/tutorial/http://docs.python.org/tutorial/ Introduction6

7 Core scientific libraries numpy htt://www.scipy.org/Download ipython http://ipython.scipy.orghttp://ipython.scipy.org matplotlib http://matplotlib.sourceforge.nethttp://matplotlib.sourceforge.net scipy http://www.scipy.org.Downloadhttp://www.scipy.org.Download mayavi httP://code.enthought.com/projects.majavi httP://code.enthought.com/projects.majavi Introduction7

8 자료형 1. 숫 자 형 (NUMBER) - int : -5, 0, 1, 1000… - float : 1.2, -3.45, 4.24E10… 2. 문 자 열 (STRING) : "a“, ‘123’, ‘\n’… 3. 리 스 트 (LIST) : [1,2,3], [‘1’, ’2’, ’3’], [‘abcde’, ‘ ㄱㄴㄷㄻ ’] 4. 사 전 (DICTIONARY) : {‘C’:12, ‘H’:1, ‘O’:18} 5. 참과 거짓 (BOOLEAN): True, False

9 변수 가변적 요인 :: 숫자나 나머지 데이터를 임시로 저장 ( 생성 된 후에 사용가능 – 생성전에 호출이 불가능 ) a = 1 b = ‘python’ c = [1, 2, 3] 변수명의 규칙 : 1. 특수문자 사용불가 : 단 예외적으로 _ 는 사용가능 2. 숫자로 시작 불가 : 중간이나 뒤에 나오는 것은 상관없음 # 이미 설정된 함수 등의 이름으로 사용은 가능 > 일반적으로 사용 안 함 # 소문자로 시작하는 변수명을 만드는 것이 일반적

10 INT ( 정수 ) 사칙 연산 가능 5 + 4 >>>>> 95 - 4 >>>>> 1 5 * 4 >>>>> 20 5 / 4 >>>>> 1 ( 두 수가 INT 일 경우 나머지는 버림 ) 5 % 4 >>>>> 1 ( 나눴을 때의 나머지 ) 5 ** 4 >>>>> 625 ( 5 4 ) abs(-4) >>>>> 4 ( 절대값 ) 다른 자료형으로 변환 float(5) >>>> 5.00000 str(5) >>>> ‘5’ bool(5) >>>> True (0 일때 False 나머지 수에서는 True)

11 FLOAT ( 실수 ) 사칙 연산 가능 5.4 / 4 >>>>> 1.350 ( 하나의 숫자가 float 형 이라도 소수점으로 결과 도출 ) 다른 자료형으로 변환 int(5.8) >>>> 5 ( 나머지 버림 ) str(5.8) >>>> ‘5.8’ bool(5.8) >>>> True 반올림 함수 : round ( 숫자, 자리수 (defalut = 0)) round(5.5489) >>>> 6.0 round(5.5489, 1) >>>> 5.5

12 String ( 문자열 ) 문자열의 형태 ‘Hellow’ “Hellow” ‘’’Helow’’’ 시작이 ‘ 이면 ‘ 로 끝나야 함 (“ 이나 “”” 도 마찬가지 ) 문자열에 ‘ 나 “ 를 포함시키고 싶을 때 1. 만일 문자열의 시작과 끝이 쓰고 싶은 기호와 다를 경우 ‘ he say “How about you” ’ (O) / ‘ he say ‘How about you’ ‘ (X) “ Python’s money” (O) / ‘ Python’s money’ (X) 2. 시작과 끝과 상관없이 사용하는 방법 ‘Python\’ money’ / “he say \”How about you\”” ( \ 뒤에 써주는 것은 문자열로 인식 )

13 String ( 문자열 ) 이스케이프 코드 \n 개행 ( 줄바꿈 ) \t 수평 탭 \a 벨 소리 \b 백 스페이스 \\ 문자 "\" \' 단일 인용부호 (') \" 이중 인용부호 (") print ‘a\n\tb\n\t\tc’ >>>a b c

14 String ( 문자열 ) 정규표현식 age = 26 print ‘ 나의 나이는 %d 살 입니다.’ %age age = 20; height = 170.7; name = ‘JJH’ print ‘ 이름 : %s 나이 : %d 키 : %f’ %(name, age, height) %3d %03d %.3f %10.3f + / * ‘abc’ + ‘bcd’ >>>> ‘abcbcd’ / ‘abc’*3 >>>> ‘abcabcabc’

15 String ( 문자열 ) INDEX – 가리키는 것 a = ‘ABCDEFGHIJKLMN’ a[0] >>>> ‘A’ / a[3] >>>> ‘D’ 첫 번째 글자를 0 으로 인식하며 다음은 1, 2 란 식으로 번호를 붙인다 a[-1] >>>> ‘N’ / a[-3] >>>> ‘K’ 마지막 글자를 -1 로 인식하며 그 전은 -2, -3 란 식으로 번호를 붙인다 SPLICING – 잘라내는 것 (1) a[0:-1] >>>> ‘ABCDEFGGUHJKLM’ [ 시작번호 : 끝번호 ] 의 식으로 이루어진다 ( 시작번호 <= 대상 < 끝번호 ) a[:5] >>>> ‘ABCDE’ / a[7:] >>>> ‘HIJKLMN’ 시작번호가 없을경우 맨 처음부터로 인식이 된다. ( 끝번호도 마찬가지 )

16 String ( 문자열 ) SPLICING – 잘라내는 것 a[7:70] >>>> ‘HIJKLMN’ 끝 번호가 전체 길이보다 크면 가장 마지막 글자까지 나타낸다 a[0:5:2] >>>> ‘ACE’ [ 시작번호 : 끝번호 : 순서 ] 와 같이 끝번호 뒤에 순서가 오면 그 수만큼 뛴다. ( 아무것도 안써주면 1 로 인식 ) a[5:0:-1] >>>> ‘FEDCB’ / a[::-1] = ‘NMLKJIHGFEDCBA’ 순서가 – 일 경우 거꾸로 라는 의미로 지니게 된다.

17 String ( 문자열 )

18 count ‘aabbccddeeffaa’.count(‘a’)>>>>> 4 find ‘aabbccddeeffaa’.find(‘a’)>>>> 0 ‘aabbccddeeffaa’.find(‘z’)>>>> -1 replace ‘aabbccddeeffaa’.replace(‘aa’, ‘zz’)>>>> ‘zzbbccddeeffzz’ ‘aabbccddeeffaa’.replace(‘zz’,’aa’)>>>> ‘aabbccddeeffzz’ split ‘AandB’.split(‘and’)>>>> [‘A’,’B’] ‘Happy birth day’.split()>>>> [‘Happy’, ‘birth’, ‘day’]

19 List ( 리스트 ) 기본구조 [ ] [ 1, 2, 3 ] [ ‘Bio’, ‘Chem’, ‘Computer’ ] [ 1, 2, [1, 2] ] INDEX a = [1, 2, 3] a[0] >>>> 1/a[2] >>>> 3 a[-1] >>>> 3/a[-3] >>>> 1 a = [ [ 1, 2 ], [ 3, 4 ] ] a[0] >>>> [ 1, 2 ]/a[-1] >>>> [ 3, 4] a[0][2] >>>> 1/a[-1][-1] >>>> [4]

20 List ( 리스트 ) SPLICING ( 문자열에서의 기능과 같음 ) a = [ 1, 2, 3, 4 ] a[0:-1] >>>> [ 1, 2, 3 ] [ 시작번호 : 끝번호 ] 의 식으로 이루어진다 ( 시작번호 <= 대상 < 끝번호 ) a[:2] >>>> [ 1, 2 ] / a[2:] >>>> [ 3, 4 ] a[7:70] >>>> [] a[2:0:-1] >>>> [ 3, 2 ] / a[::-1] = [ 4, 3, 2, 1 ] ** 혼합 사용 a = [[1, 2, 3], [‘a’, ‘b’, ‘c’]] a[0][1:]>>>> [ 2, 3 ]

21 List ( 리스트 ) + / * [ 1, 2, 3] + [ ‘a’, ‘b’, ‘c’ ]>>>>[ 1, 2, 3, ‘a’, ‘b’, ‘c’ ] [ ‘a’, ‘b’, ‘c’ ] * 3>>>> [ ‘a’, ‘b’, ‘c’, ‘a’, ‘b’, ‘c’, ‘a’, ‘b’, ‘c’ ] 리스트의 수정 a = [ 1, 2, 3, 4] a[0] = ‘a’ print a>>>>[ ‘a’, 2, 3, 4] a[0:2] = 1 print a>>>> [ 1, 3, 4] a[0:2] = [ 1, 2, 3] print a>>>> [ [ 1, 2, 3], 3, 4 ]

22 List ( 리스트 )

23 a = [ 11, 4, 3, 20 ] append a.append(5) print a >>>>[ 11, 4, 3, 20, 5 ] a.append(‘a’) print a>>>>[ 11, 4, 3, 20, ‘a’ ] sort a.sort() print a>>>> [ 3, 4, 11, 20 ] ### 만약 a 가 [‘11’, ‘4’, ‘3’, ‘20’ ] 이라면 >>>> [ ‘11’, ‘20’, ‘3’, ‘4’] : 문자열의 경우 앞글자 기준으로 정 렬 ### 만약 a 가 [ [ 1, 2 ], ‘4’, 3 ] 이라면 >>>> [ 3, [ 1, 2 ], ‘4’ ] : 숫자, 리스트, 문자열 순으로 정렬 ### 만약 a 가 [ [ 20, 10 ], [5, 4, 3] ] 이라면 >>>> [ [ 5, 4, 3], [20, 10] ] : 문자열과 마찬가지로 앞에 들어있는 것을 기준으로 정렬 ( 안에 리스트는 변화없음 )

24 List ( 리스트 ) a = [ 11, 4, 3, 20 ] pop a.pop()>>>>20 print a>>>>[ 11, 4, 3 ] a.pop(2)>>>>3 print a>>>>[ 11, 4, 20 ] remove a.remove(11) print a>>>>[ 4, 3, 20 ] a.remove(30) print a>>>>Error


Download ppt "Dept. of School of Systems Biomedical Science SoongSil University."

Similar presentations


Ads by Google