Development Tip

파이썬에서 사전 항목을 함수 인수로 전달하는 방법은 무엇입니까?

yourdevel 2020. 11. 26. 19:59
반응형

파이썬에서 사전 항목을 함수 인수로 전달하는 방법은 무엇입니까?


이 질문에 이미 답변이 있습니다.

내 코드

첫 번째 파일 :

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)

두 번째 파일 :

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name

위의 코드에서 "데이터"사전의 키만에 전달 my_function()되었지만 키-값 쌍이 전달되기를 원합니다. 이것을 수정하는 방법?

이렇게 my_function()수정 하고 싶어요

my_function(school='DAV', standard='7', name='abc', city='delhi')

그리고 이것은 내 요구 사항입니다.

편집 : 사전 키 클래스표준 으로 변경됨


그런 식으로 사용하려면 변수 이름으로 함수를 정상적으로 정의하십시오 (그러나 klassfor를 class사용하면 예약어를 사용할 수 없습니다).

def my_function(school, city, klass, name):
    schoolname  = school
    cityname = city
    standard = klass
    studentname = name

이제 (사전에서 클래스 이름을 klass로 변경 하는 한) 함수 **호출 할 때 사용할 수 있습니다 .

my_function(**data)

원하는대로 작동합니다.


* data는 인수를 튜플로 해석하지만 대신 인수를 사전으로 해석하는 ** data를 전달해야합니다.

data = {'school':'DAV', 'class': '7', 'name': 'abc', 'city': 'pune'}


def my_function(**data):
    schoolname  = data['school']
    cityname = data['city']
    standard = data['class']
    studentname = data['name']

다음과 같이 함수를 호출 할 수 있습니다.

my_function(**data)

그냥 통과 할 수 있습니다

def my_function(my_data):
    my_data["schoolname"] = "something"
    print my_data

또는 당신이 정말로 원한다면

def my_function(**kwargs):
    kwargs["schoolname"] = "something"
    print kwargs

참고 URL : https://stackoverflow.com/questions/21986194/how-to-pass-dictionary-items-as-function-arguments-in-python

반응형