2014. 5. 23. 15:52

이 문서는 파이썬 2점대를 기준으로 작성되었습니다.


10 함수

[람다함수]

lambda 콤마로 구분된 인수들 : #labmda x, y : x + y

 

[함수적 프로그래밍 - map 내장함수, 순서쌍 만들기]

map(f, X) #f:사상함수 X: 입력집합

X = [1,2,3,4,5]

Y = map(labda a:a*a, X)

map(None, [1,2,3], [4,5,6,7,8]) #순서쌍. 인수 None

                            #[(1,4), (2,5), (3,5),(None, 7), (None,8)]

cf)zip([1,2,3], [4,5,6,7,8]) #[(1,4), (2,5), (3,5)]

 

[함수적 프로그래밍 - filter 내장함수, 시퀀스 자료중 필터링하여 참인 요소만 출력]

filter(lambda x:x>2, [1,2,3,34]) #[3, 34]

 

[함수적 프로그래밍 - reduce 내장함수]

reduce( 함수, 시퀀스형[, 초기값] )

reduce(lambdz x, y : x+y, [1,2,3,4,5]) #15

 

[함수객체의 속성]

def f():

pass

f.__doc__ #문서 문자열

f.func_doc

f.__name__ #함수의 이름

f.func_name

f.func_defaults #기본 인수 값들

f.func_code #함수의 코드 객체

f.func_globals #전역 영역

 

[함수의 코드객체 func_code]

code = func_code

code.co_name #함수의 이름

code.co_argcount #필수적인 인수의 개수

code.co_nlocals #전체 지역 변수의

code.co_varnames #지역 변수의 이름들

code.co_code #코드 객체의 바이트 코드 명령어

code.co_names #바이트 코드가 사용하는 이름들

code.co_filename #코드 객체를 포함하는 파일 이름

code.co_flags #코드객체가 가변 인수(*args, 0x04) 키워드 인수(**kw, 0x08) 갖는지 검사

#(하위 두개의 비트는 내부적으로 사용)


※출처 : 프리렉 파이썬_이강성 저



[ 참고 ] 파이썬 정리 포스팅들 

--------------------------------------------------

[파이썬] python 문자열 함수정리


[파이썬] python 리스트 함수정리


[파이썬] python 튜플 함수정리




[파이썬] python 정규식 정리

-------------------------------------------------------------------------------

Posted by Triany