인프런 커뮤니티 질문&답변

K MJ님의 프로필 이미지
K MJ

작성한 질문수

실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지

반복문 While Loop에 대해서 알아보기

함수 호출 시 함수 정의의 인자 명을 명시하는게 더 나은 코드인지?

작성

·

193

0

def func(country):
    print(f"country = {country}")

# 1)
func(country = "South Korea")

# 2)
func("South Korea")

1번 방식과 2번 방식 중에

어떤 방식이 더 나은 코드인지 궁금합니다.

함수 정의 시 만든 인자 명을 명시하는게 나은 코드인가요 ? (보통 이런 방식의 코드를 많이 못봐서 여쭙습니다.)

답변 1

1

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

안녕하세요.

우선 질문 잘 하셨습니다. 1번 방식이 좋고, 파라미터에는 빈공간이 없어야 합니다.

def func(country="South Korea")

인자 명을 무조건 명시하시는게 낫습니다. 왜냐하면 확장성에 문제도 있고, 나중에 파라미터 순서가 바뀌어버리면 일일이 코드 다 고쳐야됩니다. 또한 나중에 다른 개발자가 코드 볼때 너무 힘듭니다. 실리콘 밸리에서는 대부분 명시해서 함수를 부르는데, 괜찮은 오픈 소스들 다 보시면 직접적으로 명시하는 것을 보실 수 있을 겁니다.

K MJ님의 프로필 이미지
K MJ
질문자

빠른 답변 감사합니다.

앞으로는 keyword argument 형태로 구현하도록 노력해야겠네요.

K MJ님의 프로필 이미지
K MJ

작성한 질문수

질문하기