[Python]Basic2:User-Define func

Jae Gyeong Lee·2022년 8월 11일
0

1. 함수의 구조

def 함수명(매개변수):    #매개변수는 input 값
	<수행 문장1>
    <수행 문장2>
    .
    .
    return 반환 값      #반환 값은 output 값

작업1: 사용자 정의 함수를 생성한다.

def add_function(a, b):
    y_value = a+b
    return y_value

작업2: 사용자 정의 함수를 호출한다.

print(add_function(0, 1))

=> 1

함수 호출 시, 인수 이름을 직접 입력해줄 수 있음(이럴 경우 순서 무시).

print(add_function(b=5,a=2))

=> 7

함수 내에서 return은 한 번만 작동한다.

  • return을 여러개 넣어주었더라도, 특정 조건을 만족하는 return을 만나면 그 뒤에 위치한 return은 무시된다.
def add_function(a, b):
    if a == 2:
        y_value = a+b
        return y_value
        return "print a is 2"
    elif a == 3:
        y_value = a + b -1
        return "print a is 3"
        return y_value

print(add_function(2,3))
print(add_function(3,3))

=> 5
=> print a is 3


2. 매개변수 *args

  • *args를 매개변수(input 값)로 지정하면, 원하는 만큼 인자값을 넣어주어도 된다.
def add_many(*args):
    y_value = 0
    for i in args:
        y_value = y_value+i
    return y_value
    
print(add_many(1,2,3,4,5))
print(add_many(1,2,3,4,5,6,7,8,9,10))

=> 15
=> 55


함수의 결과값은 언제나 하나이다.

  • return 값을 2개로 설정하여도 출력값은 하나의 데이터(tuple 형태)로 표현된다.
def add_and_minus(a, b):
	return a+b, a-b

print(add_and_minus(3,2))

=> (5, 1)


함수의 인자로 고정값을 넣어줄 수 있다. ## 관련 내용 추가 필요(22.08.16)

  • 기본값을 설정해준 인자는 맨 뒤에 배치(에러 방지).
def intro_self(name, age, man=True):
    print('내 이름은 %s' %name)    #문자열 포맷 코드, %s = 문자열
    print('나이는 %d' %age)   #문자열 포맷 코드, %d = 정수; %f = 부동소수
    print('성별은 남자' if man else '성별은 여자')
        
intro_self('Lee', 30)

=>
내 이름은 Lee
나이는 30
성별은 남자

  • 기본값을 설정하였어도 인자로 입력된 값이 있다면, 입력된 값을 기준으로 함.
  • 초기값을 지정한 경우 해당 값을 생략하고 호출하면 초기값이 리턴
  • 초기값을 지정한 경우에도 해당 값을 넣고 호출하면 넣어준 값이 리턴
    ㄴ 초기값이 지정된 매개변수의 경우, 초기값이 지정되지 않은 매개변수보다 후순위에 위치해야 함
profile
안녕하세요 반갑습니다. 공부한 내용들을 기록하고 있습니다.

0개의 댓글