도메인/금융공학

파이썬 시작, Xing API 이용하기 (1)

늘근이 2015. 4. 17. 21:46

음 일단, COM객체가 자바계열 언어에서 사용하기 어렵기 때문에,

할수없이 한글로 친절하게 설명이 되어있는 파이썬을 이용해서 프로그래밍을 빠르게 해보기로 했다.

워낙 루비나 파이썬은 접근성과 속성교육이 가능한 언어라고 다가오기 때문에 어쨌든 일단은 파이썬을 이용해서 필요한 부분을 익히고,

속도 면에서 불리할 경우 C++ 를 이용해보고

이도저도 코딩이 재미가 없으면 스칼라를 이용해서 구축해 보기로 한다.

물론 파이썬도 굉장히 좋은 언어라고 느껴지고, Django만큼 쉽게 설치가 가능했던 프레임워크도 없던것으로 기억한다.

https://wikidocs.net/762

일단 요기서 파이썬설치는 쉽게 할수 있다.


나의 블로그를 보는 사람은 별로 없지만 어쨌든 본인의 주종은 자바다.

파이썬이 굉장히 쉽고 직관적이라는 소문이 들어서 오후 9시부터 배우기를 시도해보겠다. (스칼라는 입문한지 꽤 되는데, 아직도 다 알았다고 하기에는 무리가 있을정도로 어려운 언어지만, 그에 비해 단순함의 정점으로 알려진 파이썬이 어느정도인지 보고싶다.) 대충 예상되는 시간은 12시 자기전까지 XingAPI를 통해 간단한 로직을 세워볼수 있지 않을까?


일단 최종목표는 HTML5 웹을 통해 시스템 트레이딩을 구현해보고자 하는 목표가 있기 때문에, (5월 안에는 구축해보기로 한다.)



일단 R과 같은 모양새다. 실제로 프로그래밍에 관심있는 경제학과 동기 후배들이 제일먼저 관심을 보이는 프로그래밍 관련 툴은 R이고, 그 다음은 파이썬인 모양이니, 문과생도 어렵지않게 만질정도로 직관적이고 쉽고 바로바로 쓰이지만 뭔가 있어보이기에는 꽤 괜찮은듯 하다.


파이썬은 다음과 같이 substring을 특이하게 이용한다. [2:3] , 역수도 가능하다

>>> string = 'abcd'

>>> string[2:3]

'c'

length 함수는 len.string 으로 이용하며, split(' ') 와 같은 함수도 써볼수 있다. 파싱할때 나름 괜찮겠다는 생각이 든다.

타입은 그다지 안쓸것 같아서 넘어간다.


콜렉션


배열


콜렉션 함수, 즉 데이터의 묶음은 다음과 같이 쉽게 가능하다. 다른 타입도 숨덩숨덩 그냥 들어간다.

>>> array1 = [1,2,'바보']

>>> array1[2]

 2

인덱스로 뽑아오는것도 가능하다. 다음은 낑겨 넣는 과정이다.

>>> array.insert(2,'2번위치')
>>> array
[1, 2, '2번위치', '바보']

음 array에 막 집어넣고 밀리는 과정은, 성능이 어느정도가 되나 궁금하지만, 쉽다. 괜찮다.


튜플

배열이 있으면 굳이 튜플이 필요있을까라는 생각이 든다. 실질적으로 다른 건 끼워넣기가 안된다는것이다.

>>> tuple = ('a','b')
>>> tuple
('a', 'b')


참조 사이트에는 Dictionary라고 했지만, 그냥 map과 다름이 없다. 다만, 다른 콜렉션에 비해 생성자가 있어야한다.

>>> map = {}
>>> map['1'] = 200
>>> map
{'1': 200}
>>> map['2'] = 300
>>> map
{'2': 300, '1': 200}


반복 및 제어문


반복문은 어디에나 있다. 다만, 파이썬은 영역표시가 조금 불분명한게 있다. : 표시를 해줌으로써, for문안에 있는 것들을 실행하라는 표시가 된다. 파이썬은 들여쓰기에 민감한데, 들여쓰기가 끝나면 문장이 끝났다고 보면된다. 관습이지만 괄호가 없이 코딩하는 것보다는 솔직히 위험하다.


FOR문

>>> for i in range(10):
              print(i)

0
1
2
3
4
5
6
7
8
9


WHILE문

>>> while index < 6 :
           print(index)
           print(index + 1)
           index = index + 1

1
2
2
3
3
4
4
5
5
6


 IF ELSE 문

>>> temp = 1
>>> if temp == 1:
        print('1이다')
        else:
  
SyntaxError: invalid syntax
>>> if temp == 1:
           print('1이다')
else:
           print('다른값이다')

1이다


일부러 에러를 내봤다. 들여쓰기를 안하고 else: 를 하면 위와같이 신택스 에러가 뜬다.