본문 바로가기

카테고리 없음

12. Functions

 Function Definition &Call
 
 
 
Declare
 
- 파이썬 함수를 선언할 때는 def 로 시작해 콜론 (:) 으로 끝난다.
 
- 함수의 시작과 끝은 들여쓰기로 구분한다. 
 
 
Return
 
- 인자나 반환값은 모든 자료형이 가능하다.
 
- return 이 없으면 None 객체가 리턴된다.
 
 
Arguments
 
- 기본 인자를 붙일 수 있다. ( ex> a = 10 ) 
 
def Times(a = 10, b = 20):
    return a*b
 
print(Times())
 
- * 를 붙이면 정해지지 않은 수의 인자를 받겠다는 의미이고 tuple 형태로 전달된다.

 

def extractAlpabet(*args):
    res = []
    for item in args:
        for x in item:
            if not x in res:
                res.append(x)
    return res
 
#['t', 'e', 's' , 'o', 'm', 'g', 'W' , 'T', 'F']
print(extractAlpabet("test", "omg", "WTF"))
 
- **를 붙이면 정해지지 않은 수의 인자를 받겠다는 의미이고 dict 형태로 전달된다.
 
def userURIBuilder(server, port, **users):
    str = "http://" + server + ":" + port + "\?"
    for key in users.keys():
        str += key + "=" + users[key] + "&"
    return str
 
#http://test.com:8080\?id=id&name=mike&passwrd=1234&age=20&
print(userURIBuilder("test.com", "8080", id= 'id', passwrd="1234", name='mike', age= '20'))
 
 
Lamda
 
- 이름이 없고 함수 객체만 존재하는 익명 함수를 람다 함수라고 한다.
 
- 람다 함수는 return 구문을 적지 않아도 하나의 반환값을 돌려준다.
 
- 일반 함수와 마찬가지로 여러개의 인자를 전달 받을 수 있다.
 
- 형식은 lambda <인자> : <구문> 이다.
 
g = lambda x,y : x*y
 
print( g(2 ,3 ) ) # 6