함수 호출의 Python 이해 (PEP 448)

엘리 로즈

(이것은 모두 Python 3.5.2에 있습니다.)

PEP 448 하단에는 다음이 표시됩니다.

과 같은 함수 호출의 브라케팅되지 않은 이해 f(x for x in it)는 이미 유효합니다.

이것은 흥미 롭습니다. 다음 기능을 정의하면 :

def f(a, b, c):
    return a + b + c

그 문구는 저를 그렇게 생각하게합니다 f(thing for thing in [1, 2, 3]) == 6. 그러나 실제로 나는 다음과 같이 얻는다.

>>> f(thing for thing in [1, 2, 3])
TypeError: f() missing 2 required positional arguments: 'b' and 'c'

즉 전체 생성기 표현식이 a.

그렇다면 PEP 448의이 문장은 무엇을 의미합니까? 생성기 표현식을 인수로 전달할 수 있다고?

Blckknght

Python을 사용하면 추가 괄호없이 단일 생성기 표현식을 호출중인 함수에 전달할 수 있습니다. 예를 들면 :

foo(x for x in range(10))

대부분 다음과 같습니다.

genexp = (x for x in range(10)) # parentheses are necessary here
foo(genexp)

함수 호출에 전달하는 다른 인수가있는 경우 생성기 표현식을 정의 할 때 괄호가 필요합니다 (예 : foo(w, (x for x in range(10)), y, z)두 번째 인수가 x's의 생성자 표현식 ).

PEP는 풀기 구문의 추가 확장이 해당 컨텍스트에서 혼란 스러울 수 있다고 전달하면서 언급했습니다. 새로운 종류의 생성기 표현 (*x for x in nested)이 합법적이라면 (최종 PEP의 일부가 아니지만 잠시 동안 고려 중이 었음) 어떻게 foo(*x for x in nested)작동 해야 합니까? foo((*x for x in nested))(새로운 "flattening"을 포함하는 단일 생성기 표현식으로 호출)과 동등 합니까 *, 아니면 foo(*(x for x in nested))(지금 합법적 인) 의미합니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PEP8이 아닌 Python의 사전 이해

분류에서Dev

이중 질문; Python 3.9의 함수를 통해 범위에서 임의의 정수 호출

분류에서Dev

MCPL 함수 호출 이해

분류에서Dev

Python에서 이벤트에 대해 호출 할 함수 등록

분류에서Dev

Python의 재귀 함수 호출

분류에서Dev

Python의 생성기 함수 이해

분류에서Dev

함수 호출이 사전의 Python에서 작동하지 않는 이유

분류에서Dev

lua 함수 호출의 인수 이름

분류에서Dev

이전 함수를 호출하는 Python 2의 Monkey Patch 프라이빗 인스턴스 함수

분류에서Dev

이 두 함수 호출의 차이점

분류에서Dev

이것은 호출에 의해 호출 될 때 내부 함수입니다.

분류에서Dev

다중 처리 Python 샘플링 분포 시뮬레이션 (함수 호출 간의 상호 의존 없음)

분류에서Dev

Django의 JavaScript 함수에서 Python 함수에 대한 AJAX 호출이 발생하지 않음

분류에서Dev

Python : 후속 호출을 위해 로컬 함수 변수 캐시

분류에서Dev

onPress {} 내부의 차이 호출 함수

분류에서Dev

목록 이해의 함수 호출에서 다중 반환

분류에서Dev

Python의 재귀 함수 호출로 인해 발생한 UnboundLocalError를 수정하는 방법은 무엇입니까?

분류에서Dev

다른 함수에 의해 호출 될 때 콘솔 로깅이 아닌 함수

분류에서Dev

Python의 함수 내에서 함수 호출

분류에서Dev

PEP 8은 함수 인수의 연산자 주위에 공백이 필요합니까?

분류에서Dev

Python의 Browser () 해당 함수

분류에서Dev

Golang의 단계 함수를 통해 AWS 람다 함수 호출

분류에서Dev

Python 기본 함수 호출

분류에서Dev

php.net의 사용자 호출 함수 예제를 이해하지 못함

분류에서Dev

함수에서 함수 호출-Python

분류에서Dev

C 함수 호출에 의해 생성 된 어셈블리 이해

분류에서Dev

함수 호출 분해

분류에서Dev

Python-PEP8 오류 해결

분류에서Dev

함수 및 생성기 함수의 동적 호출 (파이썬)

Related 관련 기사

  1. 1

    PEP8이 아닌 Python의 사전 이해

  2. 2

    이중 질문; Python 3.9의 함수를 통해 범위에서 임의의 정수 호출

  3. 3

    MCPL 함수 호출 이해

  4. 4

    Python에서 이벤트에 대해 호출 할 함수 등록

  5. 5

    Python의 재귀 함수 호출

  6. 6

    Python의 생성기 함수 이해

  7. 7

    함수 호출이 사전의 Python에서 작동하지 않는 이유

  8. 8

    lua 함수 호출의 인수 이름

  9. 9

    이전 함수를 호출하는 Python 2의 Monkey Patch 프라이빗 인스턴스 함수

  10. 10

    이 두 함수 호출의 차이점

  11. 11

    이것은 호출에 의해 호출 될 때 내부 함수입니다.

  12. 12

    다중 처리 Python 샘플링 분포 시뮬레이션 (함수 호출 간의 상호 의존 없음)

  13. 13

    Django의 JavaScript 함수에서 Python 함수에 대한 AJAX 호출이 발생하지 않음

  14. 14

    Python : 후속 호출을 위해 로컬 함수 변수 캐시

  15. 15

    onPress {} 내부의 차이 호출 함수

  16. 16

    목록 이해의 함수 호출에서 다중 반환

  17. 17

    Python의 재귀 함수 호출로 인해 발생한 UnboundLocalError를 수정하는 방법은 무엇입니까?

  18. 18

    다른 함수에 의해 호출 될 때 콘솔 로깅이 아닌 함수

  19. 19

    Python의 함수 내에서 함수 호출

  20. 20

    PEP 8은 함수 인수의 연산자 주위에 공백이 필요합니까?

  21. 21

    Python의 Browser () 해당 함수

  22. 22

    Golang의 단계 함수를 통해 AWS 람다 함수 호출

  23. 23

    Python 기본 함수 호출

  24. 24

    php.net의 사용자 호출 함수 예제를 이해하지 못함

  25. 25

    함수에서 함수 호출-Python

  26. 26

    C 함수 호출에 의해 생성 된 어셈블리 이해

  27. 27

    함수 호출 분해

  28. 28

    Python-PEP8 오류 해결

  29. 29

    함수 및 생성기 함수의 동적 호출 (파이썬)

뜨겁다태그

보관