Python Basics for Data Science - PART 4
Python Basics for Data Science - PART 4¶
( 파이낸스 데이터 사이언스를 위한 파이썬 언어 기초 )
함수, 모듈¶
2017 FinanceData http://fb.com/financedata¶
def f():
print("간단한 함수 호출")
f()
def my_func(s):
"""
전달된 값을 출력하는 간단한 함수 입니다. (help)
"""
print("전달된 값은 '{}'이고, 길이는 {} 입니다.".format(s, len(s)))
help(my_func)
my_func("임의의 문자열")
# 튜플을 반환 (다수의 값을 반환)
def func01(x):
return x **2, x ** 3, x ** 4
func01(3)
def my_sum(a, b):
s = a + b
return s
s = my_sum( 10, 20 )
print (s)
import math
math.sqrt(25)
# math 안에 뭐가 들어 있나?
print( dir(math) )
# 내장함수
data = [10, 20, 30, 50, 110, 2, 90, 30, 5]
print(max(data))
print(min(data))
print(type(data))
def get_sign(x):
if x > 0:
return '양수'
elif x < 0:
return '음수'
else:
return '영'
for x in [-1, 0, 1]:
print (get_sign(x))
디폴트 아규먼트¶
함수의 뒤쪽 파라미터(tailing)에 기본값(fault value)을 부여할 수 있다.
def f(인자1, 인자2, 인자3=기본값, 인자4=기본값):
함수의 몸체
f(값1, 값2)
def f(x, y, z = 0):
print (x, y, z)
f(10, 20, z=50)
f(10, 20)
모듈(module)¶
파이썬의 기능은 모듈로 나눠져 있다. 다양하고 방대한 기능들을 제공하고 있으며 운영체제, 파일 입출력, 문자열 처리, 네트워크 프로그래밍 등 다양한 기능을 제공한다.
- 파이썬 언어 레퍼런스 : https://docs.python.org/reference/
- 파이썬 표준 라이브러리 : http://docs.python.org/library/
특정한 기능을 제공하는 함수들을 묶어서 하나의 단위로 제공하는데 이를 모듈(module)이라고 한다. (실제로는 하나의 .py 파일이다)
파이썬의 모듈을 사용하려면 import
문을 사용한다.
예를 들어, math 모듈을 사용하려면
import math
math 모듈을 가져와(import) math에 속한 함수(math.pow) 혹은 상수값(math.pi)등을 사용할 수 있다.
반지름이 3이 인 원의 넓이는 $ 3.14 * 3^2 $ 이다. 이것을 파이썬 코드로 써보면,
import math
r = 3
area = math.pi * math.pow(r, 2)
area
모듈 들여다 보기¶
dir 함수로 모듈이 가지고 있는 이름들을 나열해 볼 수 있다. 즉, 어떤 함수와 상수들을 가지고 있는지 확인할 수 있다.
import math
print(dir(math))
각 이름에 대한 사용법을 다음과 같이 얻을 수 있다.
help(math.pow)
어떤 이름이던 help()로 사용법 혹은 설명을 얻을 수 있다.
help(math)
'*'를 사용하여 math 모듈에 있는 모든 이름들을 가져오면(import)하면 직접 이름을 사용할 수 도 있다.
# math에 속한 pi, pow를 가져온다
from math import pi, pow
# math에 속한 모든 이름을 가져온다
from math import *
이 표현을 다음과 같이 쓸 수 도있다. (하지만 추천하지 않는다)
from math import *
r = 3
area = pi * pow(r, 2)
area
pi 나 pow() 함수를 직접사용하기 때문에 코드가 간결해 보이지만, pi, pow 란 이름이 충돌하는 것을 예방하기 위해 함수가 속한 모듈을 명시적으로 지정해서 사용하는 것이 더 좋다.
가장 많이 사용하는 형태는 다음과 같다
import 모듈이름
import 모듈이름 as 새모듈이름
from 패키지 import 모듈이름
실제로 많이 사용하는 사례를 들면 다음과 같다
# requests 모듈을 임포트
import requests
# numpy 모듈을 임포트하여 np로 새이름 부여
import numpy as np
# datetime 패키지에 있는 datetime 모듈을 임포트
from datetime import datetime
댓글
Comments powered by Disqus