본문 바로가기

개발자 레니는 지금 -/소프트웨어와 함께

[ Python ] 메소드 리스트, 딕셔너리 만들어 사용하기


Python

Make method list or dictionary and Use

#Ubuntu 18.04 LTS

#Python 3.6.6


#- - 상세 설명,  실행화면



딕셔너리로 만들기전 테스트 할 메소드를 만들자

총 4개의 메소드를 만들것이다.


- def test(): void

- def test2(aa=None): void

- def test3(): return 'str'

- def test4(aa=None): return 'str'



간단히 하면 입/출력 유무에 따라 총 4가지를 만들었다.



딕셔너리와 리스트에 메소드를 넣어보자

메소드 출력결과를 넣고 싶다면 value를 메소드명() 으로 적으면 되고, 메소드 자체를 넣고 싶다면 메소드명 만 적으면 된다.

예를 들어 위의 4가지 메소드를 딕셔너리와 리스트에 넣는다면 아래와 같다.


1) 메소드를 딕셔너리로 만들기

A = {'1':test, '2':test2, '3':test3, '4':test4}


2) 메소드 결과 값을 딕셔너리로 만들기

A = {'1':test(), '2':test2('bb'), '3':test3(), '4':test4('cc')}


3) 메소드를 리스트로 만들기

B = [test, test2, test3, test4]


4) 메소드 결과 값을 리스트로 만들기

B = [test(), test2('bb'), test3(), test4('cc')]



type() 함수를 이용해 출력해보면 메소드 명만 입력했을 때는 type이 function으로 나오고,

메소드명(input)/() 로 입력했을 때는 return 되는 type이 출력된다.



딕셔너리? 리스트? 어떤 것에 넣을까?

굳이 이게 낫다! 는 아니지만 보통 순서가 필요하면 리스트, 그렇지 않을 땐 딕셔너리로 주로 사용하는 편이다.

당연히 for문에서도 사용가능함으로 호출해서 쓰기 편하다.


딕셔너리를 key 사용해서 호출하면 딕셔너리에 없는 함수를 호출할 때 try catch 구문이 간결해져서 사용하기 시작했다.





#2018년10월17일