def factorial(n):
    res = 1
    for i in range(1, n+1):
        res *= i
    return res

s = factorial(5)
print(s)
>>> 120
# Python에서 함수의 정의는 'def funcName(arg) : ' 의 형식으로 이루어진다.

 ----------------------
 
def factorial(n=3):
    res = 1
    for i in range(1, n+1):
        res *= i
    return res


s = factorial()
print(s)
>>> 6
# 함수를 정의할 때 'arg=n' 으로 작성하게 되면, default 값으로 arg에 n 값이 들어간다.

 ----------------------
 
num = 3

def func(arg=num) :
	return arg

num = 7
print(func())
>>> 3
# default 값으로 변수값을 주면 함수를 정의하기 직전의 값이 된다.

 ----------------------
 
def func(str='Artyrie') :
	return str
    
print(func())
>>> Artyrie

print(func(str='Test'))
>>> Test
# 함수의 arg를 함수에서 사용하는 arg를 키워드처럼 넘길 수 있다.

 ----------------------
 
def keyword(name, *langs, **keys):
    print(name)
    print('-- Language -- ')
    for lang in langs:
        print(lang)
    print('-' * 10)
    for key in keys:
        print(key, ":", keys[key])

keyword('Artyrie', 'Python', 'Java', Web='Flask', Web2='Django')
>>> Artyrie
-- Language --
Python
Java
----------
Web : Flask
Web2 : Django

# ' *arg '는 지정된 파라미터 외에 값을 저장하고,
# ' **arg '는 keyword와 함께 주어진 파라미터를 딕셔너리 형식으로 저장한다.

 ----------------------
 
plus = lambda x : x + 3
print(plus(0))
>>> 3
# 'plus = lambda x : x + 3' 은 'def plus(x): return x + 3' 과 동일하다.
# 함수는 lambda 표현식으로도 나타낼 수 있으며, 람다 표현식은 익명 함수를 만든다.
# 함수를 편리하게 작성할 수 있기에 사용하지만, VSCode의 extension Python을 사용하면
# lambda 표현식을 자동으로 def 형식의 함수로 만들어준다.

 

유용한 룰

의미
def func(*args) args에 지정된 파라미터 외에 값을 저장한다.
def func(**keys) keys에 딕셔너리 형식으로 key와 value 값을 저장한다.
funcName = lambda x : x ~ funcName(n)으로 인자를 주면 x : 뒤에 표현식을 처리한 값을 반환한다.

 

 

 

메소드

def str():
    """Artyrie

    Python Note. """

print(str.__doc__)
>>> Artyrie

    Python Note.
# 함수의 Method 로써 __doc__ 을 불러주면, 함수 안에 있는 내용을 문서처럼 반환해준다.

 ----------------------
 
def str(arg1: str) -> str:
    return arg1

print(str.__annotations__)
>>> {'arg1': <class 'str'>, 'return': <class 'str'>}
# __annotations__ 는 해당 함수의 인자와 리턴값에 대한 정보를 제공해준다.
# return값에 대한 정보는 (arg1: str) 뒤의 '-> str' 부분으로,
# return값이 str 형식이라는 것을 지정해주고 있다.
# 이름 그대로 주석이기 때문에 결과와 무관하게 출력된다.

 

 

메소드 정리

메소드 의미
function.__doc__ 함수 내부의 내용을 문서처럼 반환한다.
function.__annotations__ 함수의 인자(arguments) 와 return 값에 대한 정보를 반환한다.

 

 

 

 

! 주의

해당 내용은 개인 정리를 위하여 작성한 내용으로, 틀린 내용이 존재할 수 있습니다.

잘못된 정보의 경우 댓글로 알려주시면 감사하겠습니다.

'컴퓨터 > Python' 카테고리의 다른 글

#09 : Python의 기타 데이터 형태  (0) 2019.12.30
#08 : Python 리스트를 이용한 행렬  (0) 2019.12.27
#06 : Python의 반복문  (0) 2019.12.24
#05 : Python의 조건문  (0) 2019.12.23
#04 : Python의 사용자 입출력  (0) 2019.12.23

+ Recent posts