Python의 퍼스트 클래스 함수

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  

설명:

  • 더하기와 빼기 함수는 사전에 저장됩니다.
  • 키를 사용하여 액세스하고 직접 실행합니다.
추천 퀴즈 퀴즈 편집 8개의 질문

다음 중 프로그래밍 언어의 일급 함수를 가장 잘 설명한 것은 무엇입니까?

  • 에이

    자체 범위 내에서만 호출할 수 있는 함수입니다.

  • 인수로 전달되고 다른 객체와 마찬가지로 다른 함수에서 반환되는 변수에 할당될 수 있는 함수입니다.

  • 기음

    모듈의 최상위 수준에서만 정의할 수 있는 함수입니다.

  • 특정 컨텍스트에서만 실행될 수 있는 함수입니다.

설명:


일급 함수의 맥락에서 고차 함수란 무엇입니까?

  • 에이

    기본 데이터 유형만 반환할 수 있는 함수입니다.

  • 다른 함수를 인수로 사용하거나 결과로 반환할 수 있는 함수입니다.

  • 기음

    다른 함수 내에 정의되어 있지만 반환될 수 없는 함수입니다.

  • 별도의 스레드에서 실행되는 함수입니다.

설명:


다음 코드의 출력은 무엇입니까?

데프 인사(이름):

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은 변수와 관련하여 함수를 어떻게 처리합니까?

  • 에이

    함수는 정적 객체입니다

  • 함수는 상수이므로 다시 할당할 수 없습니다.

  • 기음

    함수는 일급 시민이며 전달되어 저장되고 재할당될 수 있습니다.

  • 함수를 사용하려면 전역으로 선언해야 합니다.

설명:

일급 시민이 된다는 것은 다른 객체처럼 함수를 할당하고 전달하고 반환할 수 있다는 것을 의미합니다.

Python의 퍼스트 클래스 함수퀴즈가 성공적으로 완료되었습니다. 귀하의 점수:   2 /8 정확성 :  0% 설명을 보려면 로그인하세요 1 /8 1 /8 < Previous 다음 >