JAVA를 잡아라!...
Python #08_사용자 정의 함수 본문
[ 함수 & 메서드 ]
- 함수 : 주어(객체)가 없이 목적어만 갖는 것
1) 내장 함수 2) 사용자 정의 함수
C 기반으로 탄생한 함수
파이썬은 이미 로직이 짜여진 함수들이 잘 만들어져있음
▶ 로직보다는 잘쓰는게 중요 ▶ 주석, 로그, 가독성 중요 - 메서드 : 주어(객체)가 있는 함수 == 객체지향 가능
JAVA 기반으로 탄생한 메서드
(반복되는)상황, 프로젝트, 다양한 케이스 처리
▶ 재사용, 모듈화 ▶ 객체지향 유리
[ 함수 3요소 ]
- input 입력값 인자 인수 매개변수 parameter argument
- output 출력값 결과값 return 반환
- 기능 ▶ 함수명
# 선언(정의) != 호출
# Script에서 함수를 선언하고 Shell에서 함수를 호출하는 방식을 많이 사용함
# 유형01 (input x output x)
# 유형02 (input o output x)
✅ 기본 인자 (디폴트 인자)
✅ 가변 인자
# 유형03 (input x output o)
# 유형04 (input o output o)
'''
사용자에게 정수를 입력받으세요.
사용자는 올바르게 정수를 입력합니다.
0이하의 정수가 입력되면 종료됩니다.
종료되면 입력받은 정수들의 총합과 평균을 출력해주세요.
단, 평균은 소수점 첫째자리까지만 출력해주세요.
정수 입력 >>
'''
# 01
def sumAvg():
# 사용자에게 정수 입력받아서 list에 저장
listNum = []
while True:
num = int(input('정수입력 >> '))
# 0 이하의 정수는 종료
if num <= 0:
break;
listNum.append(num)
resultSum = sum(listNum)
resultAvg = round(resultSum/len(listNum), 1)
print('합계 : ' + str(resultSum) + '\n평균 : ' + str(resultAvg))
# 02
def sumAvg2():
# 사용자에게 정수 입력받아서 list에 저장
listNum = []
# 얼마나 입력할지 모르니까 while
while True:
num = int(input('정수입력 >> '))
# 0 이하의 정수는 종료 (경계값)
if num <= 0:
break;
listNum.append(num)
# 합계와 평균을 tuple로 저장
# 파이썬은 메모리 저장 방식을 전부 포인터 방식으로 함
# 데이터를 교환하려면 C, Java는 tmp 변수가 반드시 필요
a, b = calc(listNum) # 다중 반환
print('합계 : ', str(a) + '\n평균 : ', str(b))
# 합계와 평균을 return 하는 함수
def calc(listNum):
return sum(listNum), round(sum(listNum)/len(listNum), 1)
'Python' 카테고리의 다른 글
Python #10_파일 입출력 (+ 슬라이싱 Slicing) (0) | 2024.05.14 |
---|---|
Python #09_모듈과 import (0) | 2024.05.10 |
Python #07_메서드 (0) | 2024.05.02 |
Python #06_내장 함수 (0) | 2024.05.02 |
Python #05_반복문 while, for (0) | 2024.05.01 |