[파이썬]-입출력(함수)

m·2024년 6월 3일

파이썬

목록 보기
4/7

함수

def 함수이름(매개변수):
수행할문장1
수행할문장2

-> 매개변수와 인수
1. 매개변수는 함수에 입력으로 전달된 값을 받는 변수
2. 인수는 함수를 호출할 때 전달받는 입력값

-> 입력값과 리턴값에 따른 함수의 형태

  1. 일반적인 함수
  • 입력값이 있고 리턴값이 있는 함수
  • 일반 함수의 전형적인 예. ex) 리턴값을받을변수=함수이름(입력인수1,입력_인수2,...)
  1. 입력값이 없는 함수
  • 매개변수 부분을 나타내는 함수 이름 뒤의 괄호 안이 비어있음
  • 함수 사용 시 괄호 안에 아무 값도 넣지 않아야 함
  1. 리턴값이 없는 함수
  • 리턴값이 없는 함수는 호출해도 리턴되는 값이 없음
  • ex) 함수이름(입력인수1,입력_인수2,...)
  • 근데 리턴값이 진짜 없을까? def add(a,b): print('더하기 연산 : ' %(a+b)); a=add(3,4); print(a)하면 None출력. None은 거짓을 나타내는 자료형으로 리턴값이 없을 때 쓰인다. 즉, 진자 리턴값 없는 거임.
  1. 입력값도, 리턴값도 없는 함수
  • 입력 인수를 받는 매개변수도 없고 return문도 없는, 즉 입력값도 리턴값도 없는 함수
  • ex) def say(): print('HI'); say() 하면 HI출력

-> 매개변수를 지정하여 호출하기
1. 함수 호출 시 매개변수 지정 가능

  • sub(a,b)라는 함수가 있을 때 sub(b=3,a=7)

-> 실습 볼만한 거

  • 리스트 자료형으로 성적을 입력받아 평균 값을 출력
  • 입력 문자열을 다섯 글자씩 출력해주는 함수

-> *매개변수 - 입력값이 몇 개가 될지 모를 때
1. 파이썬에서 해결 방법

  • 일반 함수 형태에서 괄호 아늬 매개변수 부분이 *매개변수로 바뀜
  • 매개변수 앞에 *을 붙이면 입력값을 전부 모아 튜플로 만들어 줌

-> *매개변수 앞에 다른 매개변수가 들어갈 수 있음
1. ex)

이거 add_mul('mul',[1,2,3])이런식으로 보내버렸음;.; ('mul',1,2,3)이 맞음

-> 키워드 매개변수 - 매개변수 앞에 별 2개 붙임

-> 함수의 리턴값은 하나!
1. 2개의 입력 인수를 받아 리턴하는 함수

c언어에서도 return값은 하나이다. 다만 return a+b,a*b하면 a+b는 무시되고 마지막 return값인 a*b만 리턴된다. 파이썬은 저게 그대로 튜플로 반환되어서 신기하다
  1. return문을 2번 사용하면 리턴값은 하나
맨 처음 return문이 반환된다. 헷갈리지말기. return문에 ,로 구분되는 거면 ,뒤가 반환, return자체가 2개면 첫번째 return이 반환

-> 매개변수에 초깃값 미리 설정업로드중..

  • 초깃값을 설정해주면 입력값을 주지 않아도 알아서 초깃값 True를 가지게 됨.
  • 주의할 점은 초깃화하고 싶은 매개변수는 항상 뒤쪽에 놓아야 하는 것.

0개의 댓글