Language/Python

231115 Python 함수

잇꼬 2023. 11. 20. 18:45
728x90
반응형
SMALL

■ 함수 
#1 기능의 프로그램 
#2 PL/SQL : 프로시저(호출) VS 함수(표현식 호출) 의 차이 => 호출방식
#3 반복되는 코드를 하나로 묶어서 처리하는 방법

def 함수이름(형식매개변수, 형식매개변수, ... ):

      수행할 문장
       ...
        [return 값] (필수X)
함수이름()

def message():
    print("오늘 하루도 행복하자!!")

dir() # 함수명 추가

message() # PL/SQL 프로시저 와 비슷

def message():
    print("오늘 하루도 행복하자!!")
    return 'happy'

x = message()
x

def message():
    print("오늘 하루도 행복하자!!")
    return 'happy' # return 문을 수행한 후 함수는 종료
    print('오늘 하루도 수고 하셨습니다.')

x = message()
x


# type 관련없이 위치에 대응되게 값을 지정

def hap(arg1, arg2): # 스칼라타입
    return arg1 + arg2

hap(10, 20)
hap('10', '20') # 오버로딩, 객체지향 프로그램 수행된다.


# 가변인수

hap(10, 20)
hap(10, 20, 30, 40)
hap(10, 20, 30, 40, 50)


def 함수명(*가변인수): # 가변인수:튜플타입
     for i in 가변인수(변수명):
     수행할 문장

# 누적합 

def hap(*arg):
    total = 0
    for i in arg:
        total += i
    return total

hap(10, 20)
hap(10, 20, 30, 40)
hap(10, 20, 30, 40, 50)


def 함수명(인수1, *가변인수):
   for i in 가변인수(변수명):
          수행할 문장

# 문자, 숫자 로직구현

def cal(arg1, *arg2):
    if arg1.lower() == 'sum':
        total = 0
        for i in arg2:
            total += i
    elif arg1.lower() == 'mulitiply':
        total = 1
        for i in arg2:
            total *= i
    else:
        total = None
    return total

cal('sum', 1,2,3,4,5)
cal('mulitiply', 1,2,3,4,5,6,7)

x = (1,2,3,4,5)



# 오류발생

cal('sum', x)



# 가변인수에 list 값, 튜플로 전달 할때 꼭 *변수명으로 작성할 것.
# *변수명 

cal('sum', *x)
728x90
반응형
LIST