python 강의정리 (함수 만들기)

2024. 10. 1. 21:57·용어정리/Python

함수를 만들어보자!

내장함수로 내가 원하는 역활을 하지 못했을 때는, 함수를 직접 만들어 사용 할 수 밖에 없다.

 

우선 함수를 만들기 위해서는 

  1. 지정어 define
  2. 함수명
  3. 매개변수
  4. 실행할 코드
  5. 반환값

가 기본적으로 있어야 한다.

 

 

def myfunction(first_number, second_number):
    first_number %= 2
    second_number %= 3
    result = first_number + second_number
    print(result)
    return result

여기서 볼 수 있듯이, 함수를 만들기 위해서는 조건을 달성 해야한다. 

즉 함수명myfunction, 매개변수 first_number, second_number),  실행코드 와 반환값 return result 가 만족되어 이는 함수라고 할 수 있다.

 

 

 

매개변수

매개변수란 myfunction 함수에서 받기로 정해진 first_number와 second_number를 매개 변수 라고 한다.

이때, 함수를 불러 올때, 넣는 값은 인수가 된다. 즉 myfunction(1,2) 라면, 1과 2가 인수이다.

def myfunction(first_number, second_number):

function = myfunction(1,2)

 

 

 

반환값

반환값이란 return이다. 이말은 즉 함수를 돌렸을때 그 함수에 저장이 되어 있는 값을 말한다.

def cal (num1, num2):
    result=(num1 * num2)
    print(result)
    return result
    

multiple = cal(2,5)
>> 10

이때, return인 반환값은 10이다.

 

 

 

다중 반환값

다중 반환 값이란, 매개변수가 2개 이상이거나 함수로 인하여 값이 여러개가 나오는 것을 의미한다.

def num (num1, num2)
    print (num1)
    print (num2)
    return num1, num2
    
 
n1 = int(input("첫번째 숫자를 넣어주세요"))
n2 = int(input("두번째 숫자를 넣어주세요"))
num (n1, n2)

 

이런 코드라면, 값이 num1과 num2가 나오기 때문에 이를 다중 반환값 이라고 한다. 이때는 매개변수의 순서대로 값을 넣어야 한다.

 

 

 

 

반환값이 없는 함수

반환값이 없는 함수란, return을 생략하거나, 매개변수 없이 코드만 실행 시키는것을 뜻한다.

def test_function():
    print("hello")

a = test_function()
>> hello

print(a)
>> none

 

a를 실행하면 프린트는 되지만 값이 저장되지 않는 휘발성이다. 따라서 이는 반환값이 없는 함수 라고 한다.

 

 

 

 

기본값

기본값이란, 인수를 넣지 못하거나 잘못넣었을때, 매개변수에서 기본적으로 세팅이 되어지는 값을 이야기한다.

def sayhi(name = "승열", age = 26):
    print(f"안녕하세요, {name}님 {age}살이군요!")

username = str(input("이름을 알려주세요! : "))
userage = int(input("나이를 입력해주세요!(숫자만) : "))
sayhi(username, userage)

원래는 def sayhi (name, age)가 되어야 하지만 기본값을 집어 넣어서 만약 인수를 잘못 넣게 되었을때에도

기본값을 대신 표시해 주기 떄문에 오류가 줄어들 수 있다.

 

 이에 결과는 만약 인풋을 넣지 않았자면, 승열, 26으로 나올 것이다.

 

 

 

가변 매개변수

가변 매개변수란 매개변수의 양을 정하지 않은 것을 뜻한다. 

가변 매개변수는 

  1. args 임의의 갯수의 값을 받기
  2. kwargs 인수들을 딕셔너리로 받기

 

args

args는 튜플의 형식으로 저장이된다.

def numbers (**args):
    print(args)
    return True

numbers(1,2,3,4,5)

 

 

 

kwargs

kwargs는 딕셔너리 방식으로 저장이 된다. (저장 타입은 튜플)

def person(**kwargs):
    print(kwargs)
    return True
person(name = "이승열", age = 26)

 

 

 

 

args and kwags

이때 args와 kwargs를 같이 쓸 수도 잇다.

def test(num1, num2, *args, **kwargs) :
    print(num1, num2, args, kwargs)
    return True

test(1,2,1,2,name="test", age=1)

>> 1 2 (1,2) {'name' : 'test', 'age' : 1}

 

이는 num1과 num2는 1자리의 숫자를 args리스트를 그리고 kwargs는 딕셔너리 형식으로 받기에, 그에 맞춰서 들어간다.

만약 데이터 값을 맞춰서 넣지 못하거나 순서가 틀리면 에러가 발생한다.

'용어정리 > Python' 카테고리의 다른 글

python 용어정리 (패키지)  (0) 2024.10.01
python 용어정리 (모듈)  (0) 2024.10.01
python 용어정리 (내장함수)  (0) 2024.10.01
python 용어정리 (조건문)  (0) 2024.09.30
python 용어정리 (반복문)  (0) 2024.09.30
'용어정리/Python' 카테고리의 다른 글
  • python 용어정리 (패키지)
  • python 용어정리 (모듈)
  • python 용어정리 (내장함수)
  • python 용어정리 (조건문)
코드 유랑자 승열
코드 유랑자 승열
코드 유랑자 승열의 프로그래밍 일지를 남기는 공간입니다.
  • 코드 유랑자 승열
    승열의 프로그래밍 시네마
    코드 유랑자 승열
  • 전체
    오늘
    어제
  • 링크

    • 깃허브 보러가기
    • 링크드인 보러가기
    • 인스타그램 보러가기
    • 카테고리
      • 코딩테스트
        • BaekJoon
      • TIL and WIL
        • TIL
        • WIL
      • 주말스터디
      • 내일배움캠프
        • 사전캠프 강의 (SQL)
      • 용어정리
        • Python
        • Python-Library
        • Machine-Learning
        • Deep-Learning
        • AI 활용
        • LLM & RAG
        • Docker
        • Django
        • SQL
        • Java Script
        • etc
      • Daily 코드카타
        • SQL
        • Python 알고리즘
      • 임시저장
      • 보류
  • 태그

    View
    vector db
    오블완
    RAG
    template
    langchain
    티스토리챌린지
    llm
    django
    word2vec
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코드 유랑자 승열
python 강의정리 (함수 만들기)
상단으로

티스토리툴바