-
50 - 함수, 매개변수 기본study with Q - 파이썬 2024. 6. 2. 18:15
# 외워...!
~기본적인 함수~
def p_3_ts(): print("hey") print("hey") print("hey") # 그리고 함수를 호출(call)하면 p_3_ts() >>> hey hey hey
# 파이썬에서 매개변수
: 함수의 괄호 안에 넣는 변수
def f_str(str): print(str) print(str) print(str) f_str("seven") >>> seven seven seven
# parameter(매개변수) : 함수 정의 때 넣은 변수 (위에서 str)
# argument(인수) : 함수 호출 때 넣은 값 (위에서 seven)
# 문자열과 횟수도 넣을 수 있어요
# parameter def prt(str, times): for i in range(times) : print(str) # argument prt("독도는 한국 땅",5) >>> 독도는 한국 땅 독도는 한국 땅 독도는 한국 땅 독도는 한국 땅 독도는 한국 땅
# 매개변수와 관련된 오류
: (1) #함수를 만들 때 넣은 매개변수 != #함수를 호출할 때 넣은 매개변수 수
1-1) #parameter > #argument
→ TypeError: prt() missing 1 required positional argument: 'times'
1-2) #parameter < #argument
→ TypeError: prt() takes 2 positional arguments but 3 were given
: (2) 적합하지 않은 자료형을 넣었을 때
1-2) 횟수에 문자열을 넣으면
→ range 부분에서 오류 발생
# parameter def prt(str, times): for i in range(times) : print(str) # argument prt("독도는 한국 땅","3") >>> TypeError: 'str' object cannot be interpreted as an integer
함수를 설계하는 사람과 사용하는 사람이 다른 경우가 많으므로...
# 함수 설계시에는
: (1) 함수의 설명서 aka 문서(documentation)을 잘 작성해두어야 하고
: (2) 예외처리를 해두는 것이 좋다 (방어 코드 같은 건가)
# 예외처리 코드를 심으면 이렇습니다요 def prt(stri, tms): if type(stri) != str: print("첫 번째 매개변수는 문자열로 입력하세요.") if type(tms) != int : print("두 번째 매개변수는 정수로 입력하세요.") for i in range(tms) : print(stri) prt("문자열","3") >>> 두 번째 매개변수는 정수로 입력하세요. Traceback (most recent call last): File "/home/runner/function/main.py", line 41, in <module> prt("문자열","3") File "/home/runner/function/main.py", line 37, in prt for i in range(tms) : TypeError: 'str' object cannot be interpreted as an integer
'study with Q - 파이썬' 카테고리의 다른 글
52 - (파이썬) 기본 매개변수 (0) 2024.06.10 51 - (파이썬) 가변 매개변수 함수 (0) 2024.06.03 49 - 프로그램, 루틴, 프로시저, 메서드, 함수 (1) 2024.06.02 46-48 - 4강 도전 문제 외 (0) 2024.06.02 45 - 4-4절 확인 문제 (0) 2024.05.28