White Whale Studio

[Python] 기본 문법 본문

IT Engineering/Python

[Python] 기본 문법

glorymind 2012. 2. 9. 15:07
반응형


이번 포스팅에서는 파이썬의 기본적인 문법들에 대해서 살펴보도록 해야겠다.

1. Console 입력

키보드 입력을 받는 함수인데, 이 역시 비교적 간단하다.

1-1. 문자열 입력

>>> name = raw_input('name?')
name? 홍길동
>>> print name
홍길동

위에서 보는 것처럼 () 내에는 입력을 받기위한 안내를 위한 문자열을 입력하는 부분인데, 아무것도 넣지 않고 ()만 작성해도 문제는 없다.

1-2. 정수, 실수 값 입력

2가지 방법이 있는데, 1-1의 raw_input을 사용해서 문자열을 받은 뒤에 수치형으로 변환하거나,
input 함수를 사용한다.
>>> m = int(raw_input('int :'))
int :35
>>> m
35

>>> im = input('int :')
int :45
>>> im
45

2. Console 출력
파이썬에는 대게 변수명만 타이핑에도 눈치껏 출력을 해주기는 하는데, 문자열 같은 경우는 제대로 안되는 경우가 있다. 이러한 경우는 물론이며, 완성도 높은 코딩을 위해서는 print 문을 사용한다.
위에서도 사용했지만, print 뒤에 변수명이나 배열, 리스트 명을 입력하면 된다.

3. 자료형
3-1. 수치형 정수, 실수, 복소수 등 : 123, 1234L, 0x99

3-2. 문자열 : 문자들의 모임(내용 변경 안됨)
' ' 또는 " " 안에 묶여진 문자들의 모임이다.
인덱싱을 통해서 각각의 문자를 선택할 수도 있다.
예를 들면, s='hello' 의 경우 s[0] = 'h' s[1] = 'e' 와 같은 형식이다.
또한 슬라이싱을 통해서 부분적으로 취할수도 있다.
s[1:3] => 'el'

3-3. 리스트 : 순서를 가지는 파이썬 임의 객체의 집합
>>> L=[1,2,3]
>>> len(L)
3
>>> L[1]
2
>>> L[-1]
3
>>> L[1:3]
[2, 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]

3-4. 사전 : 순서를 가지지 않는 객체의 집합, 키(key)로 값을 꺼낸다.
키와 값으로 묶여진 형태이다.
>>> d = {'1':'one','2':'two', '3':'three'}
>>> d
{'1': 'one', '3': 'three', '2': 'two'}
>>> d['1']
'one'
>>> d['4'] = 'four'
>>> d
{'1': 'one', '3': 'three', '2': 'two', '4': 'four'}
>>> 'one' in d
False
>>> '1' in d
True

3-5. 튜플 : 순서를 가지는 파이썬 임의 객체의 집합
문자열이나 리스트와 유사하다 다만, 문법이 다르다. []이 아닌 ()를 사용한다.
차이점이 있다면, 튜플은 값의 변경이 불가능하고, 리스트는 가능하다는 것.

3-6. 파일 : 파일 입출력을 위한 객체

이외에도 다양한 자료형이 있다.
>>> import types
>>> dir(types)
['BooleanType', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', 'ClassType', 'CodeType', 'ComplexType', 'DictProxyType', 'DictType', 'DictionaryType', 'EllipsisType', 'FileType', 'FloatType', 'FrameType', 'FunctionType', 'GeneratorType', 'GetSetDescriptorType', 'InstanceType', 'IntType', 'LambdaType', 'ListType', 'LongType', 'MemberDescriptorType', 'MethodType', 'ModuleType', 'NoneType', 'NotImplementedType', 'ObjectType', 'SliceType', 'StringType', 'StringTypes', 'TracebackType', 'TupleType', 'TypeType', 'UnboundMethodType', 'UnicodeType', 'XRangeType', '__builtins__', '__doc__', '__file__', '__name__', '__package__']
>>>

반응형

'IT Engineering > Python' 카테고리의 다른 글

[Mining by Python] easy_Install과 networkx 설치  (1) 2012.06.04
[Python] 시작, 파이썬 설치  (1) 2012.02.07
Comments