상세 컨텐츠

본문 제목

함수 객체 다루기

Python

by techbard 2016. 4. 28. 20:16

본문

반응형
### 함수 객체 핸들

def play():
    print('play')

def stop():
    print('stop')

def main():
    fs = [play, stop]

    for f in fs:
        f()

if __name__ == '__main__':
    main()

#결과
play
stop

 

### pass by reference

def add_ls(ls):
    ls.append(2)
    return

def main():
    ls = [1]
    print("before:", ls)

    add_ls(ls)

    print("after:", ls)

if __name__ == '__main__':
    main()

#결과
before: [1]
after: [1, 2]

 

### list/tuple as function argument

def ls_passing(x, y, z):
    print(x, y, z)

def tp_passing(**kwargs):
    print(kwargs)

def main():
    # 여러 인자를 넘기는 경우 리스트나 튜플을 바인딩하는 변수에 *를 사용
    ls = [1, 2, 3]
    ls_passing(*ls)

    # 데이터가 딕셔너리 형태로 저장된 경우 함수를 호출할 때 **를 사용
    tp = {'x': 1, 'y': 2}
    tp_passing(**tp)

if __name__ == '__main__':
    main()

#결과
1 2 3
{'x': 1, 'y': 2}

 

반응형

관련글 더보기

댓글 영역