코딩 배우는 중/Python

Python : 함수, 인수

inns21 2023. 3. 13. 19:23

함수
: 프로그램상에서 자주 사용되는 코드를 하나의 기능으로 묶어서 사용


● 함수 정의

def 함수명(인수 목록) :
    # 기능 ( 하나의 함수에는 하나의 기능)



● 함수 호출

함수명(인수 목록)

 

 

함수의 이름만 작성하고 재생하면 type()함수와 비슷하게 생긴 정보가 뜸


● pass 명령

def 함수명(인수목록) :
    pass  #기능을 정의하지 않고 실행하면 에러가 발생하는데 그 에러를 방지

 


●리턴값
  : 함수의 실행 결과를 호출원으로 돌려주는 값
  : 꼭 리턴값이 있어야 하는 것은 아님
  : 단, 리턴값이 없는 함수는 값이 아니기 때문에 변수에 대입하거나 수식내에 사용하면 오류남

return이 존재하는 함수
return이 없는 함수



인수
: 함수로 전달되는 매개변수
: 아예 없을 수도 있고 개수에도 제한이 없다
형식 인수 : 함수 정의문의 인수
실인수 : 함수 호출문에서 전달하는 인수

● 가변 인수
  : 함수를 호출할 때 함수 정의문에 쓴 인수의 개수만큼 실인수를 전달해야하지 않으면 에러가 나는데 가변 인수의 경우 임의 개수의 인수를 받는다
: 함수 정의문 def 함수명(*인수)  > 인수 앞에  * 붙임 
: 인수의 타입은 tuple로 들어감
: 가변 인수와 일반 인수를 같이 쓸 경우 가변 인수는 뒤에 와야함
    func(a, *aa)  #가능
    func(*aa, a)  #에러
: 가변인수는 한 개만 적을 수 있다


● 인수의 기본값
  : 들어올 인수에 대해 기본값을 미리 지정하여 함수 호출시 인수를 넣지 않아도 기본값으로 계산한다
  : 어떤 인수든 기본값을 지정할 수 있으나 일반인수와 기본값이 있는 인수를 함께 쓸 경우 기본값을 가지는 인수는 일반인수 뒤에 작성한다
    ex) def func(a = 1, b = 2, c = 3):   #가능
          def func(a, b = 2, c = 3):         #가능
          def func(a = 1, b, c):               #불가능


● 키워드 인수
  : 함수 호출시 함수 정의문에 적은 인수의 순서대로 실인수를 전달하는데 인수의 이름을 지정하여 전달하면 순서가 바뀌어도 상관 없음
위치 인수 : 순서대로 인수를 전달하는 방식
    ex)  def func(a , b, c):
           func(b = 1, c = 3, a = 2)    
  : 위치 인수가 항상 먼저 와야 하며 앞쪽에 키워드 인수가 있으면 뒤에 인수도 이름을 지정해줘야 한다


● 키워드 가변 인수
  : 키워드 인수를 가변 인수로 전달할 때는 **를 인수 앞에 붙임
  : 여러개의 키워드 인수를 전달하면 인수의 이름과 값을 쌍으로 dict로 전달
    ex) def func(**args)
          func(a = 3, b = 2, c = 1)


● 위치 인수, 일반 인수, 키워드 가변 인수 전부 사용하기
  : 일반 인수가 제일 앞에 위치인수,  키워드 인수 순으로 와야한다
  ex) def func( a, *h, **q):
        func( 'ex', 3, 4, 5, 6, end = 12) 

'코딩 배우는 중 > Python' 카테고리의 다른 글

Python : 리스트  (0) 2023.03.14
Python : 기본 구조, 변수  (0) 2023.03.06