Python의 퍼스트 클래스 함수
Python에서 함수는 일급 객체로 취급됩니다. 이는 숫자 문자열이나 다른 변수처럼 사용할 수 있음을 의미합니다. 다음을 수행할 수 있습니다.
- 변수에 함수를 할당합니다.
- 다른 함수에 인수로 전달합니다.
- 함수에서 반환합니다.
- 목록이나 사전과 같은 데이터 구조에 저장합니다.
이 기능을 사용하면 재사용 가능한 모듈식의 강력한 코드를 작성할 수 있습니다.
일급 함수의 특성
Python의 함수에는 다음과 같은 중요한 특성이 있습니다. 예를 들어 하나씩 살펴보겠습니다.
1. 변수에 함수 할당하기
우리는 할 수 있다 변수에 함수를 할당하다 그리고 변수를 사용하여 함수를 호출합니다.
예:
Python def msg ( name ): return f 'Hello { name } !' # Assigning the function to a variable f = msg # Calling the function using the variable print ( f ( 'Emma' ))
산출
Hello Emma!
설명:
- msg 함수는 변수 f에 할당됩니다.
- 이제 f를 사용하여 함수가 변수처럼 동작함을 보여주는 msg를 호출할 수 있습니다.
2. 함수를 인수로 전달하기
기능은 다음과 같습니다. 인수로 전달됨 다른 기능 활성화 고차 함수 .
예:
Python def msg ( name ): return f 'Hello { name } !' def fun1 ( fun2 name ): return fun2 ( name ) # Passing the msg function as an argument print ( fun1 ( msg 'Alex' ))
산출
Hello Alex!
설명:
- fun1 함수는 다른 함수(fun2)를 입력으로 사용합니다.
- msg는 fun1로 전달된 다음 'Alex'로 호출됩니다.
3. 다른 함수에서 함수 반환
함수는 다음을 수행할 수 있습니다. 다른 함수를 반환 함수 팩토리 생성이 가능해졌습니다.
예:
Python def fun1 ( msg ): def fun2 (): return f 'Message: { msg } ' return fun2 # Getting the inner function func = fun1 ( 'Hello World!' ) print ( func ())
산출
Message: Hello World!
설명:
- fun1 함수는 다른 함수 fun2를 정의하고 이를 반환합니다.
- func는 나중에 실행될 수 있는 반환된 함수 fun2를 저장합니다.
함수는 다음과 같은 데이터 구조에 저장될 수 있습니다. 기울기 또는 사전 .
예:
Python def add ( x y ): return x + y def subtract ( x y ): return x - y # Storing functions in a dictionary d = { 'add' : add 'subtract' : subtract } # Calling functions from the dictionary print ( d [ 'add' ]( 5 3 )) print ( d [ 'subtract' ]( 5 3 ))
산출
8 2
설명:
- 더하기와 빼기 함수는 사전에 저장됩니다.
- 키를 사용하여 액세스하고 직접 실행합니다.
다음 중 프로그래밍 언어의 일급 함수를 가장 잘 설명한 것은 무엇입니까?
- 에이
자체 범위 내에서만 호출할 수 있는 함수입니다.
- 비
인수로 전달되고 다른 객체와 마찬가지로 다른 함수에서 반환되는 변수에 할당될 수 있는 함수입니다.
- 기음
모듈의 최상위 수준에서만 정의할 수 있는 함수입니다.
- 디
특정 컨텍스트에서만 실행될 수 있는 함수입니다.
일급 함수의 맥락에서 고차 함수란 무엇입니까?
- 에이
기본 데이터 유형만 반환할 수 있는 함수입니다.
- 비
다른 함수를 인수로 사용하거나 결과로 반환할 수 있는 함수입니다.
- 기음
다른 함수 내에 정의되어 있지만 반환될 수 없는 함수입니다.
- 디
별도의 스레드에서 실행되는 함수입니다.
다음 코드의 출력은 무엇입니까?
데프 인사(이름):
f'안녕하세요 {이름}'을(를) 반환합니다.
say_hello = 인사
print(say_hello('괴짜'))
- 에이
안녕하세요 인사
- 비
환영하다
- 기음
안녕하세요 괴짜
- 디
유형오류
변수에 함수를 할당할 수 있습니다. 여기서 say_hello는 인사를 위한 또 다른 참조가 됩니다.
다음 중 일급 함수의 속성이 아닌 것은 무엇입니까?
- 에이
함수는 데이터 구조에 저장될 수 있습니다.
- 비
변수에 함수를 할당할 수 있습니다.
- 기음
함수는 다른 함수를 반환할 수 있습니다.
- 디
함수는 기본 유형만 반환할 수 있습니다.
일류 함수는 기본 함수에 국한되지 않고 다른 함수를 포함한 모든 유형을 반환할 수 있습니다.
이 코드의 출력은 무엇입니까?
def 외부():
내부 정의():
return '내부 함수'
내부 반환
기능 = 외부()
인쇄(펑크())
- 에이
내부 기능
- 비
안의
- 기음
밖의
- 디
오류
external()은 내부 함수를 반환하고 func()는 이를 호출하여 문자열을 반환합니다.
다음 중 일급 함수의 특징이 아닌 것은 무엇입니까?
- 에이
변수에 할당할 수 있습니다.
- 비
다른 함수에 인수로 전달될 수 있습니다.
- 기음
프로그램에서는 한 번만 정의할 수 있습니다.
- 디
다른 함수에서 반환될 수 있습니다.
다음 코드의 출력은 무엇입니까?
def make_multiplier(n):
정의 승수(x):
x * n을 반환
반환 승수
더블 = make_multiplier(2)
인쇄(더블(5))
- 에이
7
- 비
10
- 기음
25
- 디
오류
make_multiplier(2)는 인수에 2를 곱하는 함수를 반환합니다. 따라서 double(5)는 10을 반환합니다.
Python은 변수와 관련하여 함수를 어떻게 처리합니까?
- 에이
함수는 정적 객체입니다
- 비
함수는 상수이므로 다시 할당할 수 없습니다.
- 기음
함수는 일급 시민이며 전달되어 저장되고 재할당될 수 있습니다.
- 디
함수를 사용하려면 전역으로 선언해야 합니다.
일급 시민이 된다는 것은 다른 객체처럼 함수를 할당하고 전달하고 반환할 수 있다는 것을 의미합니다.
퀴즈가 성공적으로 완료되었습니다. 귀하의 점수: 2 /8 정확성 : 0% 설명을 보려면 로그인하세요 1 /8 1 /8 < Previous 다음 >