본문으로 바로가기

[Python] 함수

category Data Science/Python 2015.02.16 16:44

파이썬에서 함수의 선언은 def로 시작하고 콜론(:)으로 끝냅니다.

그리고 함수의 시작과 끝은 코드의 들여쓰기로 구분을 합니다.

 

def <함수명>(인수1, 인수2,,,,,,인수N)

<구문>

return <반환값>

 

기본적로 파이썬에서 함수의 사용법은 다음과 같습니다.

 

기본 인수 값 : 기본값이 할당 되도록 하는 방법
>>> def Times(a=10, b=20):
    Return  a * b
>>>Times()
200
>>>Times(5)
100
 
cs

예제와 같이 기본값이 할당 되어있는 함수에 값을 전달 하지 않는 경우는 기본값으로 계산이 되어집니다.

 

키워드 인수 : 변수 이름으로 값을 전달

>>> def connectURI(server, prot)
    str = http:// + server + “:” + port
return str
>>> connectURI(“test.com, “8080”)
‘http://test.com:8080’
>>> connectURI(port=”8080”, server=”test.com”)
‘http://test.com:8080’
 
cs

변수 이름으로 값을 전달 하게 되면 변수의 순서와는 상관 없이 값을 명확히 전달 할 수 있습니다.

 

가변인수 리스트 : *를 사용하여 가변인수를 전달

>>> def union2(*ar)
    res = []
    for item in ar:
        for x in item:
            if not x in res:
           res.append(x)
    return res
>>> union2(“HAM”, “EGG”, “SPAM”)
[‘H’, ’A’, ’M’, ‘E’, ‘G’, ‘S’, ‘P’]
 
cs

 

정의되지 않은 인수 처리 : **를 사용하여 정의되지 않은 인수를 사전형식으로 전달

>>> def userURIBuilder(server, port, **user)
    str = http:// + server + “:” + port + “/?”
    for key in user.keys():
        str += key + “=” + user[key] +”&”
    return str
>>> userURIBuilder(“test.com”, “8080”, id=’userid’, passwd=’123’)
‘http://test.com:8080/?passwd=123&id=userid&’
>>> userURIBuilder(“test.com”, “8080”, id=’userid’, passwd=’123’, name=’mike’, age=’30’)
‘http://test.com:8080/?passwd=123&id=userid&age=30&name=mike&’
 
cs

'Data Science > Python' 카테고리의 다른 글

[Python] 파일과 예외  (0) 2015.02.23
[Python] 모듈  (0) 2015.02.16
[Python] 함수  (0) 2015.02.16
[Python] 리스트  (0) 2015.02.16
[Python] 시퀀스 자료형  (0) 2015.02.13
[Python] 파이썬 개요 및 설치  (2) 2015.02.12

댓글을 달아 주세요