function(함수)의 동적 매개 변수 에 대하 여 말씀 드 리 겠 습 니 다.

우 리 는 함수 에 동적 인 파 라 메 터 를 전달 할 수 있 습 니 다.*args,**kwargs,먼저 우 리 는*args 를 볼 수 있 습 니 다.예 는 다음 과 같 습 니 다.
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 에 전달 하고 다른 매개 변 수 를 형 삼 에 전달 할 지 지정 합 니 다.××kwargs
show(*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(함수)중의 동적 인 파 라 메 터 는 바로 작은 편집 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기