앞에 오는 기본 인수 함수를 호출, 내가 같은 것을 할 싶습니다 인사를 ('안녕')는, 인사는 여기서이 크게 도움이 될파이썬 : 위치 인수
def greet(person='stranger', greeting='hello')
코드 작성시 테스트 용
앞에 오는 기본 인수 함수를 호출, 내가 같은 것을 할 싶습니다 인사를 ('안녕')는, 인사는 여기서이 크게 도움이 될파이썬 : 위치 인수
def greet(person='stranger', greeting='hello')
코드 작성시 테스트 용
함수를 호출하면 변수 이름을 사용하여 어떤 변수가 어떤 값을 가정하는지 명확하게 할 수 있습니다. 동시에 함수 정의에 기본값이 제공되면 함수를 호출 할 때 변수를 건너 뛰어도 오류가 발생하지 않습니다. 나는이 위에서 말했듯이, 예를 들어 함수의 정의는 다음과 같이 인 경우, 작동하지 않을 것이라는 점을
def greet(person='stranger', greeting='hello')
print('{} {}'.format(greeting, person))
return
greet(greeting='hola') # same as greet(person='stranger', greeting='hola')
# returns 'hola stranger'
주 : 그래서, 한마디로 당신은 그냥이 할 수있는이 경우 이후
def greet(person, greeting)
print('{} {}'.format(greeting, person))
return
을, 파이썬은 person
을 어떻게 처리해야할지 모른다고 불평 할 것입니다. 기본값은 ..
를 제공하지 그건 그렇고, 당신이 설명하는 문제는 대부분 다른 매개 변수를 알고 만 아는없이 기본값이 처음
에서 사용되는 바로 그 이유입니다 매개 변수가 두 번째 위치에있는 경우 inspect
모듈을 사용하여 기능 서명 &과 연관된 기본값을 가져올 수 있습니다.
그런 다음 기본 값리스트의 카피를 작성하고 원하는 인덱스의 하나 변경 :
import inspect
def greet(person='stranger', greeting='hello'):
print(person,greeting)
argspec = inspect.getargspec(greet)
defaults = list(argspec.defaults)
defaults[1] = "hola" # change second default parameter
greet(**dict(zip(argspec.args,defaults)))
모든 매개 변수는 기본값을 (그렇지 않으면이 목록에 실패한다는 교대)가 있다고 가정을 그 인쇄물 :
stranger hola
try 'greet (greeting = "hola")'. 자세한 내용은 https://docs.python.org/2/tutorial/controlflow.html#keyword-arguments –
[호출 방법 인 경우 Python의 인수를 건너 뛰는 방법] (https://stackoverflow.com/questions/)의 중복 가능성. 21694536/how-to-skip-argument-in-python-when-call-method) – Billy