function(함수)의 동적 매개 변수 에 대하 여 말씀 드 리 겠 습 니 다.
1.show(*args)
def show(*args):
print(args,type(args))
#
show(11,22,33,44,55,66)
먼저 우 리 는 함수 하 나 를 정 의 했 습 니 다.함수 show(*args)안의*args 는 동적 인 파 라 메 터 를 받 을 수 있 습 니 다.여기 서 우 리 는 원 그룹 형식의 파 라 메 터 를 받 습 니 다.우 리 는 show()에 많은 파 라 메 터 를 전달 할 수 있 습 니 다.함 수 는 기본적으로 이 파 라 메 터 를 원 그룹 으로 받 아들 일 수 있 습 니 다.2.show(**args)
def show(**kwargs):
print(kwargs,type(kwargs))
#
show(k1=80,k2="alex")
위의 코드 를 통 해 알 수 있 듯 이**kwargs 는 사전 의 형식 으로 인 자 를 받 습 니 다.사전 은 키-값 쌍 으로 구 성 된'key-value'이기 때문에 우 리 는 안에 키-값 쌍 의 매개 변수 형식 을 입력 해 야 받 을 수 있 습 니 다.그래서 우 리 는 안에 매개 변수 k1=80,k2='alex'를 입력 했 습 니 다.이렇게 사전 을 생 성하 여 코드 에서 알 수 있 습 니 다.3.show(k,*args)
def show(k,*args):
print(k,type(k))
print(args,type(args))
show([11,22],33,44,55,88)
실행 결 과 는 다음 과 같 습 니 다.
[11, 22] <class 'list'>
(33, 44, 55, 88) <class 'tuple'>
위의 코드 를 통 해 알 수 있 듯 이 우 리 는 함수 에 두 개의 매개 변 수 를 정 의 했 습 니 다.하 나 는 k 이 고 하 나 는*args 입 니 다.우 리 는 형 삼 k 는 하나의 대상 매개 변수 만 받 을 수 있다 는 것 을 알 고 있 습 니 다.*args 는 여러 개의 매개 변 수 를 받 을 수 있 고 한 원 그룹 에 놓 을 수 있 습 니 다.아래 에 우 리 는 함수 에 여러 개의 매개 변 수 를 전달 하여 어떻게 받 는 지 볼 수 있 습 니 다.운행 결과(1)를 통 해 알 수 있 듯 이 형 삼 k 는 매개 변 수 를 받 았 다[11,22].뒤에 입력 한 값 은*args 에 전달 되 고 목록 에 저 장 됩 니 다.4.show(*args,**kwargs)
함수 에 이 두 개의 매개 변수 가 있 으 면 모든 형식의 실 참 을 전달 할 수 있 습 니 다.사람 은 사람 을 죽 이 고 부 처 는 부 처 를 죽 일 수 있 습 니 다.임의의 형식의 매개 변 수 를 받 을 수 있 기 때 문 입 니 다.그러나 사전 은 반드시 키 쌍 으로 구성 되 어야 하고 전달 하 는 매개 변 수 는 key=value 의 형식 을 만족 시 켜 야 한 다 는 것 을 알 고 있 습 니 다.그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.이 점 은 반드시 기억 해 야 한다.Python 에서 기본적으로 사전 에 파 라 메 터 를 전달 하 는 방법 은 바로 키-값 이다.
def show(*args,**kwargs):
print(args,type(args))
print(kwargs,type(kwargs))
show(123,"alex",666,alex="sb",nanyang="degnzhou")
실행 결 과 는 다음 과 같 습 니 다.
(123, 'alex', 666) <class 'tuple'>
{'nanyang': 'degnzhou', 'alex': 'sb'} <class 'dict'>
우 리 는 앞의 요소 가 하나의 원 그룹 tuple 에 놓 여 있 고 뒤의 요 소 는 하나의 사전 dict 에 놓 여 있 는 것 을 볼 수 있 습 니 다.그러나 우 리 는 반드시 기억 해 야 합 니 다.*args 는 반드시*kwargs 앞 에 있어 야 합 니 다.그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.순 서 는 반드시 하나의 매개 변수,동적 원 그룹,동적 사전 방식 입 니 다.다음은 실례 를 살 펴 보 겠 습 니 다.
def show(*args,**kwargs):
print(args,type(args))
print(kwargs,type(kwargs))
l = [11,22,33,44]
d = {"n1":88,"alex":"sb"}
# l *args, **kwargs,
show(l,d) (1)
\#위의 기능 을 실현 하려 면 표시 해 야 합 니 다.어떤 매개 변 수 를 형 삼*args 에 전달 하고 다른 매개 변 수 를 형 삼 에 전달 할 지 지정 합 니 다.××kwargsshow(*l,**d) (2)
위의 코드 에서 우 리 는(1)에서 파 라 메 터 를 직접 호출 하지만 얻 은 결 과 는 우리 가 원 하 는 것 이 아 닙 니 다.우 리 는 파 라 메 터 를 목록 이나 사전 의 형식 으로 대응 하 는 인삼 에 전달 하려 면 어느 매개 변수 에 전달 되 는 지 표시 해 야 합 니 다.기본 매개 변수 와 같 습 니 다.그렇지 않 으 면 첫 번 째 인자*args 에 만 전 달 됩 니 다.목록 과 사전 을 같은 원 그룹 에 두 겠 습 니 다.위의 코드 의 운행 결 과 는 다음 과 같다.
실행 결과:
([11, 22, 33, 44], {'alex': 'sb', 'n1': 88}) <class 'tuple'>
{} <class 'dict'>
(11, 22, 33, 44) <class 'tuple'>
{'alex': 'sb', 'n1': 88} <class 'dict'>
5.문자열 에 있 는 인자 의 경우(1)문자열 포맷,문자열 에 목록 매개 변 수 를 전달 합 니 다.
s1 = "{0} is {1}."
result = s1.format("alex","sb")(1)
l = ["alex","sb"] (2)
res = s1.format(*l)
print(result)
print(res)
위 에서 우 리 는 문자열 에 파 라 메 터 를 전달 하 는 두 가지 방법 이 있 습 니 다.방법(1)에서 우 리 는 직접 순서대로 파 라 메 터 를 s1 에 전달 하고 방법(2)에서 목록 을 지정 하지만*args 형식 으로 문자열 s1 에 파 라 메 터 를 전달 합 니 다.목록 은 질서 가 있 습 니 다.(2)문자열 에 사전 형식의 인 자 를 전달 합 니 다.
s1 = "{name} is {acter}."
result = s1.format(name="alex",acter="sb")
d = {"name":"alex","acter":"sb"}
#
res = s1.format(**d)
print(result)
print(res)
위의 코드 에서 우 리 는 문자열 에 사전 형식의 인 자 를 전달 했다.우 리 는 사전 의 형식 을 알 고 문자열 에 전달 할 때 우리 가 전달 하 는 인 자 를 사전 으로 지정 해 야 한다.따라서**d 형식 을 사용 하여 Python 에 알려 야 합 니 다.
6.lambda 표현 식
lambda 간단 한 표현 식 은 함수 의 간단 한 표현 형식 입 니 다.
>>> func = lambda a:a+1
>>> ret = func(99)
>>> print(ret)
100
위의 형식 에서 func 는 함 수 를 정의 합 니 다.lambda 는 우리 가 lambad 표현 식 을 정 의 했 습 니 다.그 중에서 a 대표 의 형 삼,사칭(:)뒤의 a+1 대표 표현 식 을 정의 합 니 다.함수 가 어떤 처 리 를 한 후에 결 과 를 ret 라 는 변수 에 되 돌려 주 고 변 수 를 호출 합 니까?return 을 생략 하 다.
위의 형식 매개 변 수 는 여러 개 를 가 질 수 있 고 사칭 앞 은 매개 변수 이 며 여러 개 를 가 질 수 있다.콜론 뒤 에는 함수 체 입 니 다.
lambda 표현 식 이 형 삼 a 를 만 들 었 습 니 다.함수 내용 a+1,호출 함수 의 변수 에 결 과 를 되 돌려 줍 니 다.
이상 의 이 간단 한 function(함수)중의 동적 인 파 라 메 터 는 바로 작은 편집 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콜백 함수를 Angular 하위 구성 요소에 전달이 예제는 구성 요소에 함수를 전달하는 것과 관련하여 최근에 직면한 문제를 다룰 것입니다. 국가 목록을 제공하는 콤보 상자 또는 테이블 구성 요소. 지금까지 모든 것이 구성 요소 자체에 캡슐화되었으며 백엔드에 대한 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.