1. 함수 사용하기

<aside> 💡 - 반복되는 코드들을 함수로 만들다!!

</aside>

#1. 선언

def custom_function_name(parameter1, parameter2, ...):
		"""
			Description:

			:param
			:output:
			:return:
		"""
	# write_something

	return something

#2. 예시

— 예시 1. Hello를 출력하는 함수—


"""
		예시1. Hello를 출력하는 함수
    
    :param: 
		:output: Hello!
    :return: 
"""
def sayHello():
	print("Hello!\\n")

sayHello()  # Hello!

— 예시 2. 입력받은 문자를 출력하는 함수 —

"""
		예시2. 입력받은 문자를 출력하는 함수

    :param user_word: 사용자에게 입력받는 단어 
		:output: 입력받은 단어를 출력
    :return: 
"""
def sayWord(user_word: str):
	print(f"input word is {user_word}!!\\n")

word = input("아무단어를 입력하세요!: ")  # 호랑이
sayWord(word)  # input word is 호랑이 !!

— 예시 3. 입력받은 문자를 반환하는 함수 —

"""
		예시3. 입력받은 문자를 반환하는 함수

		:param:
		:output:
		:return: 사용자가 입력한 단어
"""
def inputWord() -> str:
	return input("아무단어를 입력하세요!: ")

print(inputWord())

— 예시 4. 나누기 함수 —

"""
		예시4. 나누기 함수

		:param numerator: 
		:param denominator: 
		:return: a / b
"""
def fraction(numerator, denominator) -> float:
	return numerator / denominator

result = fraction(20, 10)  # 2

result = fraction(denominator = 10, numerator = 20)  # 2

— 예시 5. 모두 더하는 함수 —

"""
		예시5. 모두 더하는 함수

		:param *many_inputs: 불특정 숫자들
		:return: sum of many_inputs
"""
def total_sum(*many_inputs):
	total = 0
	for n in many_inputs:
		total += n
	
	return total

result = total_sum(1,2,3,4,5,6,7,8,9,10)  # 55

— 예시 6. 정렬하는 함수 —

"""
		예시6. 정렬하는 함수

		:param *many_inputs: 불특정 숫자들
		:return: sum of many_inputs
"""
def sort(mode: str, *numbers) -> list:
    numbers = list(numbers)  # 입력받은 인자들을 list로 변환!
    input_size = len(numbers)
    
    if mode == "increase":
        numbers.sort()
    
		elif mode == "decrease":
        numbers.sort(reverse=True)
    
		else:
        print("invalid index! usage: [mode] [number1, ...]\\n")
        return

    return numbers

sorting("increase", 10, 9, 5, 2, 6, 7)  # [2, 5, 6, 7, 9, 10]

num = [1, 54, 5, 2, 6, 8, 98, 6, 23]
sorting("increase", *num)  # unpacking!!