std_weight함수에서weight만return가능한가요?
68
1 asked
std_weight 함수에서 height, gender도 return해서 쓰는 방법을 없을까요?

결과: 키 100 여자의 표준 체중은 (68.1472, 1.76, '남자')입니다.
로 나오는데요, 왜 height와 gender는 return해도 전역변수값이 바뀌지 않을까요?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. Iiiillll님.
std_weight 함수에서 height, gender와 함께 weight를 반환하고 싶으신 경우, 튜플 형식으로 여러 값을 반환할 수 있습니다. 이렇게 반환된 값은 함수 호출 시 튜플로 반환되며, 각각의 값에 접근하기 위해서는 변수들을 활용하여 받을 수 있습니다.
기본적으로, 함수는 지역 변수를 사용하며 함수 내부에서 사용된 변수는 함수 외부의 전역 변수와 별도로 관리됩니다. 이는 함수의 캡슐화 원칙을 따르며, 함수 내부의 변화가 전역 변수에 영향을 주지 않도록 보호해 줍니다.
아래는 개선된 예제 코드입니다:
def std_weight(height, gender):
height = height / 100
if gender == "남자":
weight = height * height * 22
else:
weight = height * height * 21
return weight, height, gender
# 함수 호출 및 반환 값 저장
weight, new_height, new_gender = std_weight(176, "남자")
print(f"키 {new_height*100}cm {new_gender}의 표준 체중은 {weight}Kg 입니다.")
위 코드에서 std_weight 함수는 (weight, height, gender)의 튜플을 반환하며, 각 변수는 호출 시 적절한 새로운 변수에 저장됩니다.
관련하여 더 깊이 있는 내용을 원하시면 아래 링크를 참고해 보세요:
- 파이썬에서 여러 값을 반환하는 방법에 대해 알아보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
quiz 8 오류 문제
0
70
1
str() 작성 위치
0
51
1
아나콘다
0
61
1
윈도우 설치 도와주세요
0
74
1
오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.
0
34
1
설치해서 시작하는데 문제가 있습니다.
0
70
1
함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?
0
105
1
2장 환경설정 문의
0
74
1
스타크래프트 프로젝트
0
74
1
python 파일명.py 입력시 Python 출력
0
133
1
로드맵 질문있습니다!
0
85
2
오류
0
74
1
질문 있습니다.
0
75
1
블로그에 학습한 내용을 정리해도 괜찮을까요?
0
172
1
#퀴즈 3의 5번 질문
0
72
1
print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다
0
81
1
가변인자의 위치가 중요한가요?
0
79
1
vscode옛날 버전 설치
0
221
1
글자색상이 선생님처럼 안나옵니다
0
186
1
슬프네
0
156
1
quiz 6번 관련 문의입니다.
0
129
1
퀴즈#3에 대해서 이렇게 작성해도 되나요?
0
194
1
피드백 부탁드립니다
0
93
1
print 출력값 관련 궁금한점 있습니다.
0
97
0

