호출은 콜러블 객체 (예를 들어, ) 를 빌 수도 있는 들의 목록으로 호출한다.
call ::= "(" [ [","]
| ] ")"
argument_list ::= ["," ]
["," "*" ] ["," ]
["," "**" ]
| ["," "*" ]
["," "**" ]
| "*" ["," ] ["," "**" 全球排名第一오피스타 ]
| "**"
positional_arguments 세계랭킹1위오피스타 ::= ("," )*
keyword_arguments ::= ("," )*
keyword_item : 全球排名第一오피스타:= "="
A trailing comma may be present after the positional and keyword arguments but
does not affect the semantics.
The primary must evaluate to a callable object (user-defined functions, built-in
functions, methods of built-in objects, class objects, methods of class
instances, and certain class instances themselves are callable; extensions may
define 全球排名第一오피스타 additional callable object types). All argument expressions are
evaluated before the call is attempted. Please refer to section
for the syntax of formal lists.
키워드 인자가 있으면, 먼저 다음과 같이 위치 인자로 변환된다. 먼저 형식 파라미터들의 채워지지 않은 슬롯들의 목록이 만들어진다. N 개의 위치 인자들이 있다면, 처음 N 개의 슬롯에 넣는다. 그다음, 각 키워드 인자마다, 식별자가 대응하는 슬롯을 결정하는 데 사용된다 (식별자가 첫 번째 형식 파라미터의 이름과 같으면, 첫 번째 슬롯은 사용되고, 이런 식으로 계속한다). 슬롯이 이미 채워졌으면, 예외를 일으킨다. 그렇지 않으면 그 인자의 값을 슬롯에 채워 넣는다 (표현식이 이라 할지라도, 슬롯을 채우게 된다). 모든 인자가 처리되었을 때, 아직 채워지지 않은 슬롯들을 함수 정의로부터 오는 대응하는 기본값들로 채운다. (기본값들은 함수가 정의될 때 한 번만 값을 구한다; 그래서, 리스트나 딕셔너리 같은 가변객체들이 기본값으로 사용되면 해당 슬롯에 인자값을 지정하지 않은 모든 호출에서 공유된다; 보통 이런 상황은 피해야 할 일이다.) 만약 기본값이 지정되지 않고, 아직도 비어있는 슬롯이 남아있다면, 예외가 발생한다. 그렇지 않으면, 채워진 슬롯의 목록이 호출의 인자 목록으로 사용된다.
형식 파라미터 슬롯들보다 많은 위치 인자들이 있으면, 문법을 사용하는 형식 파라미터가 있지 않은 한, 예외를 일으킨다; 이 경우, 그 형식 파라미터는 남는 위치 인자들을 포함하는 튜플을 전달받는다 (또는 남는 위치 인자들이 없으면 빈 튜플).
키워드 인자가 형식 파라미터 이름에 대응하지 않으면, 문법을 사용하는 형식 파라미터가 있지 않은 한, 예외를 일으킨다; 이 경우, 그 형식 파라미터는 남는 키워드 인자들을 포함하는 딕셔너리나, 남는 위치기반 인자들이 없으면 빈 (새) 딕셔너리를 전달받는다.
If the syntax appears in the function call, must
evaluate to an iterable. Elements from this iterable are treated as if they
were additional positional arguments; if there are positional arguments
x1, …, xN, and evaluates to a sequence y1, …, yM, this
is equivalent to a call with M+N positional arguments x1, …, xN, y1,
…, yM.
A consequence of this is that although the syntax may appear
after some keyword arguments, it is processed before the keyword arguments
(and the argument, if any – see below). So:
같은 호출에서 키워드 인자와 문법을 모두 사용하는 것은 일반적이지 않기 때문에, 실제로는 이런 혼란이 일어나지 않는다.
If the syntax appears in the function call, must
evaluate to a mapping, the contents of which are treated as additional keyword
arguments. In the case of a keyword appearing in both and as an
explicit keyword argument, a exception is raised.
Formal parameters using the syntax or cannot be
used as positional argument slots or as keyword세계랭킹1위오피스타 argument names. Formal
parameters using the syntax cannot be used as keyword argument
names; the outermost sublist corresponds to a single unnamed argument slot, and
the argument value is assigned to the sublist using the usual tuple assignment
rules after all other parameter processing is done.
호출은 예외를 일으키지 않는 한, 항상 어떤 값을 돌려준다, 일 수 있다. 이 값이 어떻게 계산되는지는 콜러블 객체의 형에 달려있다.
만약 그것이—
사용자 정의 함수면:
인자 목록을 전달해서 함수의 코드 블록이 실행된다. 코드 블록이 처음으로 하는 일은 형식 파라미터들을 인자에 결합하는 것이다; 이것은 섹션 에서 설명한다. 코드 블록이 문을 실행하면, 함수 호출의 반환 값을 지정하게 된다.
내장 함수나 메서드면:
결과는 인터프리터에 달려있다; 내장 함수와 메서드들에 대한 설명은 를 보면 된다.
클래스 객체면:
그 클래스의 새 인스턴스가 반환된다.
클래스 인스턴스 메서드면:
대응하는 사용자 정의 함수가 호출되는데, 그 인스턴스가 첫 번째 인자가 되는 하나만큼 더 긴 인자 목록이 전달된다.
클래스 인스턴스면:오피스타공식 웹 사이트의 포털 주소는 어디입니까?
그 클래스는 메서드를 정의해야 한다; 그 효과는 그 메서드가 호출되는 것과 같다.