Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

데블스캠프2005/Python: Difference between revisions

From ZeroWiki
imported>Unknown
No edit summary
 
(Repair batch-0004 pages from live compare)
 
Line 1: Line 1:
[http://zeropage.org/pub/language/python/python-2.4.1.msi Python2.4.1 다운로드]
[http://zeropage.org/pub/language/python/python-2.4.1.msi Python2.4.1 다운로드]
[[:File:DevilsCamp2005_Python.ppt|DevilsCamp2005_Python.ppt]]
DevilsCamp2005_Python.ppt
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 20: Line 20:
* dir() : 인수에 객체를 전달하면 객체 내에서 사용할 수 있는 함수 리스트를 리턴한다.
* dir() : 인수에 객체를 전달하면 객체 내에서 사용할 수 있는 함수 리스트를 리턴한다.
* help() : 인수에 전달된 명령에 대한 설명을 보여준다.
* help() : 인수에 전달된 명령에 대한 설명을 보여준다.
  >>> l = []
  >>> l = []
  >>> dir(l)
  >>> dir(l)
   
   
Line 71: Line 71:
  >>> t + ('tuple',)      연결
  >>> t + ('tuple',)      연결
  (1, 2, 3, 'tuple')
  (1, 2, 3, 'tuple')
  >>> t[1:3]             슬라이싱
  >>> t[1:3]             슬라이싱
  (2, 3)
  (2, 3)
  >>> len(t)              길이
  >>> len(t)              길이
Line 80: Line 80:
  >>> l = list(t)        리스트로 변환
  >>> l = list(t)        리스트로 변환
  >>> l
  >>> l
  [1, 2, 3]
  [1, 2, 3]
  >>> t = tuple(l)        튜플로 변환
  >>> t = tuple(l)        튜플로 변환
  >>> t
  >>> t
Line 87: Line 87:
=== 리스트 ===
=== 리스트 ===
임의의 객체를 저장하는 자료형. 순서가 있고 순서에 의해(index) 접근 가능. 객체의 변경이 가능한다.
임의의 객체를 저장하는 자료형. 순서가 있고 순서에 의해(index) 접근 가능. 객체의 변경이 가능한다.
  >>> L = []                       빈 리스트 생성
  >>> L = []                       빈 리스트 생성
  >>> L = [1,2,3]
  >>> L = [1,2,3]
  >>> len(L)                      길이
  >>> len(L)                      길이
  3
  3
  >>> L[1]                         인덱싱
  >>> L[1]                         인덱싱
  2
  2
  >>> L[1:3]                       슬라이싱
  >>> L[1:3]                       슬라이싱
  [2, 3]
  [2, 3]
  >>> L[-1]
  >>> L[-1]
  3
  3
  >>> L + L                        연결
  >>> L + L                        연결
  [1, 2, 3, 1, 2, 3]
  [1, 2, 3, 1, 2, 3]
  >>> L * 3
  >>> L * 3
  [1, 2, 3, 1, 2, 3, 1, 2, 3]
  [1, 2, 3, 1, 2, 3, 1, 2, 3]
  >>> L = range(10)
  >>> L = range(10)
  >>> L
  >>> L
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  >>> L[::2]                       확장 슬라이스
  >>> L[::2]                       확장 슬라이스
  [0, 2, 4, 6, 8]
  [0, 2, 4, 6, 8]
  >>> L[::-1]
  >>> L[::-1]
  [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
   
   
  >>> L.append(100)                추가
  >>> L.append(100)                추가
  >>> L
  >>> L
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]
  >>> L.insert(1, 50)
  >>> L.insert(1, 50)
  >>> L
  >>> L
  [0, 50, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]
  [0, 50, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]
  >>> del L[2]                     삭제
  >>> del L[2]                     삭제
  >>> L
  >>> L
  [0, 50, 2, 3, 4, 5, 6, 7, 8, 9, 100]
  [0, 50, 2, 3, 4, 5, 6, 7, 8, 9, 100]
  >>> L.reverse()                  순서를 바꾼다
  >>> L.reverse()                  순서를 바꾼다
  >>> L
  >>> L
  [100, 9, 8, 7, 6, 5, 4, 3, 2, 50, 0]
  [100, 9, 8, 7, 6, 5, 4, 3, 2, 50, 0]
   
   
  >>> L.sort()                    정렬
  >>> L.sort()                    정렬
  >>> L
  >>> L
  [0, 2, 3, 4, 5, 6, 7, 8, 9, 50, 100]
  [0, 2, 3, 4, 5, 6, 7, 8, 9, 50, 100]


=== 사전 ===
=== 사전 ===
Line 130: Line 130:
내부적으로 해쉬(hash)를 이용하여 자료를 저장한다. 빠른 속도로 자료를 찾을 수 있다.
내부적으로 해쉬(hash)를 이용하여 자료를 저장한다. 빠른 속도로 자료를 찾을 수 있다.
  >>> dic = {'baseball':5, 'soccer':10, 'basketball':15}
  >>> dic = {'baseball':5, 'soccer':10, 'basketball':15}
  >>> dic['baseball']
  >>> dic['baseball']
  5
  5
  >>> dic['baseball'] = 20
  >>> dic['baseball'] = 20
  >>> dic
  >>> dic
  {'basketball': 15, 'soccer': 10, 'baseball': 20}
  {'basketball': 15, 'soccer': 10, 'baseball': 20}
Line 138: Line 138:
메소드
메소드
  >>> dic.keys()                                          키들을 리스트로 리턴
  >>> dic.keys()                                          키들을 리스트로 리턴
  ['basketball', 'soccer', 'baseball']
  ['basketball', 'soccer', 'baseball']
  >>> dic.values()                                        값들을 리스트로 리턴
  >>> dic.values()                                        값들을 리스트로 리턴
  [15, 10, 20]
  [15, 10, 20]
  >>> dic.items()                                          (key, value)을 리스트로 리턴
  >>> dic.items()                                          (key, value)을 리스트로 리턴
  [('basketball', 15), ('soccer', 10), ('baseball', 20)]
  [('basketball', 15), ('soccer', 10), ('baseball', 20)]
   
   
  >>> if 'soccer' in dic:                                  사전이 key를 가지고 있는지 검사. 있으면 True리턴
  >>> if 'soccer' in dic:                                  사전이 key를 가지고 있는지 검사. 있으면 True리턴
  print dic['soccer']
  print dic['soccer']
  10
  10


== 시퀀스 자료형의 공통 연산 ==
== 시퀀스 자료형의 공통 연산 ==
시퀀스 자료형 : 문자열, 리스트, 튜플 등
시퀀스 자료형 : 문자열, 리스트, 튜플 등
  인덱싱        s[1]
  인덱싱        s[1]
  슬라이싱      s[1:3]
  슬라이싱      s[1:3]
  연결          s + 'abc'
  연결          s + 'abc'
  반복          s * 2
  반복          s * 2
Line 175: Line 175:


리스트 자료형의 객체 출력
리스트 자료형의 객체 출력
  >>> number = [1,2,3,4,5]
  >>> number = [1,2,3,4,5]
  >>> for n in number:
  >>> for n in number:
  print n,
  print n,
Line 192: Line 192:
----
----
[[데블스캠프2005]], [[데블스캠프2005/화요일]]
[[데블스캠프2005]], [[데블스캠프2005/화요일]]

Latest revision as of 00:37, 27 March 2026

Python2.4.1 다운로드 DevilsCamp2005_Python.ppt

풀어본 문제들

피보나치 ReverseAndAdd 구구단 마름모출력 MineSweeper

신기한 익스플로러 제어

파이썬으로익스플로어제어

주석

# a = 4

도움말 얻기

  • dir() : 인수에 객체를 전달하면 객체 내에서 사용할 수 있는 함수 리스트를 리턴한다.
  • help() : 인수에 전달된 명령에 대한 설명을 보여준다.
>>> l = []
>>> dir(l)

>>> help(l.append)
Help on built-in function append:

append(...)
    L.append(object) -- append object to end

입력

raw_input 문자열 입력 input 수치형 입력

>>> raw_input('your name? ')
your name? zp
'zp'

>>> n = input('숫자 입력하세요. ')
숫자 입력하세요. 5
>>> 
>>> n
5

내장 자료형

수치형

a = 10                     int(32bit)
b = 2.5                    float(64bit)
c = 999999999999999999L    long형(무제한)
d = 4 + 5j                 complex(각 64bit)
x ** y                     power. x의 y제곱
divmod(x, y)               returns (int(x/y), x % y)
>>> divmod(5,3)
(1, 2)

round(x)                   반올림

abs(-3)                    3 
int(3.15)                  3
float(5)                   5.0
complex(2, 5)              2 + 5j

문자형

s = 'abcdef'

튜플

임의의 객체를 저장하는 자료형. 순서를 가지고 순서에 의해 접근 가능. 객체의 변경이 불가능한다.

>>> t = (1,2,3)
>>> t * 2               반복
(1, 2, 3, 1, 2, 3)
>>> t + ('tuple',)      연결
(1, 2, 3, 'tuple')
>>> t[1:3]              슬라이싱
(2, 3)
>>> len(t)              길이
3
>>> 1 in t              멤버십 테스트
True

>>> l = list(t)         리스트로 변환
>>> l
[1, 2, 3]
>>> t = tuple(l)        튜플로 변환
>>> t
(1, 2, 3)

리스트

임의의 객체를 저장하는 자료형. 순서가 있고 순서에 의해(index) 접근 가능. 객체의 변경이 가능한다.

>>> L = []                       빈 리스트 생성
>>> L = [1,2,3]
>>> len(L)                       길이
3
>>> L[1]                         인덱싱
2
>>> L[1:3]                       슬라이싱
[2, 3]
>>> L[-1]
3
>>> L + L                        연결
[1, 2, 3, 1, 2, 3]
>>> L * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> L = range(10)
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L[::2]                       확장 슬라이스
[0, 2, 4, 6, 8]
>>> L[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> L.append(100)                추가
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]
>>> L.insert(1, 50)
>>> L
[0, 50, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100]
>>> del L[2]                     삭제
>>> L
[0, 50, 2, 3, 4, 5, 6, 7, 8, 9, 100]
>>> L.reverse()                  순서를 바꾼다
>>> L
[100, 9, 8, 7, 6, 5, 4, 3, 2, 50, 0]

>>> L.sort()                     정렬
>>> L
[0, 2, 3, 4, 5, 6, 7, 8, 9, 50, 100]

사전

임의의 객체 저장. 자료의 순서를 갖지 않는다. 키(key)를 이용해 값(value)에 접근한다. 내부적으로 해쉬(hash)를 이용하여 자료를 저장한다. 빠른 속도로 자료를 찾을 수 있다.

>>> dic = {'baseball':5, 'soccer':10, 'basketball':15}
>>> dic['baseball']
5
>>> dic['baseball'] = 20
>>> dic
{'basketball': 15, 'soccer': 10, 'baseball': 20}

메소드

>>> dic.keys()                                           키들을 리스트로 리턴
['basketball', 'soccer', 'baseball']
>>> dic.values()                                         값들을 리스트로 리턴
[15, 10, 20]
>>> dic.items()                                          (key, value)을 리스트로 리턴
[('basketball', 15), ('soccer', 10), ('baseball', 20)]

>>> if 'soccer' in dic:                                  사전이 key를 가지고 있는지 검사. 있으면 True리턴
	print dic['soccer']	
10

시퀀스 자료형의 공통 연산

시퀀스 자료형 : 문자열, 리스트, 튜플 등

인덱싱         s[1]
슬라이싱       s[1:3]
연결           s + 'abc'
반복           s * 2
멤버십 테스트  'a' in s
길이           len(s)


for

1에서 9까지의 합

>>> sum = 0
>>> for x in range(1, 10):
	sum += x
	
>>> sum
45

1, 3, 5, 7, 9의 합

>>> odd = 0
>>> for o in range(1, 10, 2):
	odd += o
	
>>> odd
25

리스트 자료형의 객체 출력

>>> number = [1,2,3,4,5]
>>> for n in number:
	print n,

	
1 2 3 4 5

참고 자료


데블스캠프2005, 데블스캠프2005/화요일