def
키워드를 이용한다.def 함수이름(인자, ...):
형태로 정의한다. :
)을 항상 사용해야 함에 주의할 것.
In [1]:
def mysum(a, b):
return a + b
문서화는 코드 이상으로 중요하다. 문서화가 제대로 되어있지 않은 프로그램 코드 파일은 코드 개발 및 관리를 매우 어렵게 만든다.
문서화의 기본은 함수에 주석을 다는 것이다. 함수정의에 사용되는 주석을 "docstring(문서화 문자열)"이라 부른다.
help
함수를 이용하여 해당 함수의 역할 및 사용법을 확인할 수 있다.help("abs")
명령을 실행하여 abs
함수가 절대값을 return
하는 함수임을 알 수 있었음에 주의하라.
In [2]:
def mysum(a, b):
"""내가 정의한 덧셈이다.
인자 a와 b에 각각 두 숫자를 입력받아 합을 되돌려준다.
"""
return a + b
In [3]:
help(mysum)
함수를 호출(실행)하기 위해서는 함수이름(인자1, 인자2, ...)
형태로 사용한다.
예를 들어 mysum(2,3)
처럼 mysum
함수를 호출한다.
In [4]:
x = 2
y = 3
z = mysum(x,y)
mysum(x,y)
에서 x
와 y
는 mysum
함수를 호출할 때 사용되는 "인자(argument)" 들이다. z
는 mysum
함수를 두 개의 인자 x, y
에 대해 호출하였을 때 "되돌려주는 값(리턴값, return value)"이다. 0
개 이상이다. print
함수가 그렇다. 즉, print
함수의 정의를 확인하면 return
값이 정의되어 있지 않다. return
값이 명시되어 있지 않아도 파이썬은 None
이라는 특별한 값을 리턴한다고 간주한다.
In [5]:
def print42():
print(42)
def return42():
return 42
In [6]:
b = return42()
In [7]:
b
Out[7]:
In [8]:
a = print42()
In [9]:
print(a)
In [10]:
return42()
Out[10]:
In [11]:
print42()
.py
인 파일)이다.operator
모듈은 파이썬에서 기본적으로 제공하는 계산 관련 함수들의 정의들을 갖고 있는 파일이다.sin
, cos
, log
등 고등수학 관련 함수들은 math
라는 모듈에 정의되어 있다. +
, -
, *
, /
, //
, **
등은 파이썬이 기본적으로 제공하는 함수들을 대신하는 기호들이다. 각 기호들에 해당하는 진짜 함수들은 operator
모듈에 정의되어 있다.+
기호는 operator
모듈의 add
함수를 나타낸다.기타 기호들의 함수들에 대해서는 아래 링크를 참조하면 된다. https://docs.python.org/2/library/operator.html
operator
모듈에 있는 함수들의 이름을 직접 사용하려면 import operator
명령을 실행한 후에 operator.add(1,2)
형태로 실행하면 된다.
dir(operator)
를 실행하면 operator
모듈에 어떤 함수들이 정의되어 있는지 확인할 수 있다
In [12]:
import operator
In [13]:
help(operator.add)
dir
함수를 이용하면 operator
모듈에 정의되어 있는 함수들의 목록을 확인할 수 있다.
In [14]:
dir(operator)
Out[14]:
모듈을 사용하려면 해당 모듈을 import
해야 한다. 예를 들어, sin(10)
값을 구하기 위해 math
모듈을 임포트해야 하는데 임포트 방식은 크게 세 가지로 나뉜다.
import math
명령을 실행한 후에 math.sin(10)
등 처럼 실행하면 된다.import math as m
from math import sin
명령을 실행한 후에 sin(10)
을 실행하면 된다. from math import *
명령을 실행한 후에 sin(10)
을 실행하면 된다. 여기서 *
는 모든 함수를 의미한다.
In [15]:
import math
In [16]:
math.sin(10)
Out[16]:
In [17]:
import math as m
In [18]:
m.pi
Out[18]:
In [19]:
from math import sin, pi
In [20]:
sin(10)
Out[20]:
In [21]:
pi
Out[21]:
In [22]:
math.cos(10)
Out[22]:
In [23]:
from math import *
In [24]:
exp(1)
Out[24]:
In [25]:
dir(math)
Out[25]:
In [26]:
help(math.sqrt)