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 mfrom 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)