Hayden's Archive

[Python] 함수(위치 매개변수/기본 매개변수/키워드 매개변수/가변 매개변수) / 객체 본문

Study/Python

[Python] 함수(위치 매개변수/기본 매개변수/키워드 매개변수/가변 매개변수) / 객체

_hayden 2020. 7. 8. 11:13

함수는 정의해놓고 써야 함.
라이브러리에서 제공하는 함수를 갖다 쓸 때도 볼 줄 알아야 함.
def = definition
★함수 헤더의 끝은 콜론(:)이다. => brace가 필요한 곳은 콜론을 찍음..

 

머신러닝, 딥러닝을 하다보면, 함수를 우리가 정의해서 사용하는 경우가 많이 있다.

1. 기본문법
def 함수이름(매개변수):
    """
        doc string...함수 기능에 대한 설명...
        (내가 만든 함수에 대한 주석)
    """
    <수행할 문장1>
    <수행할 문장2>
    return (리턴할 게 있으면 리턴 키워드 쓰고 없으면 안 씀)

2. ★★★함수를 만드는 4가지 방법
(라이브러리에서 가져다 쓸 때 함수 사용법이 다르게 나옴. 그래서 이해해야 함.)
 - 위치 매개변수
 - 기본 매개변수
 - 키워드 매개변수
 - 가변 매개변수 (파이썬 안 하고 자바나 C만 해본 사람에게는 낯섦. 딥에서 잘 씀.)

 

 


1) 위치 매개변수 위로

 

 


2) 기본 매개변수 위로

stop, step, _int는 기본값이 들어가 있다.(반드시 위치 매개변수(위에서는 start) 뒤에 와야 함.)

기본 매개변수가 드글드글 한 것을 알 수 있음.

 

 


3) 키워드 매개변수 위로

 

판다스(Pandas)가 중요한 건 DataFrame 때문임.
2차원 행렬은 엑셀 시트 표와 똑같이 생김. 데이터들이 엑셀 구조로 생김. 이렇게 생긴 모듈이 DataFrame임. 끌어온 데이터를 DataFrame 형식으로 갖춤.

Init signature에서 보면 data는 위치매개변수(none은 값이 안 들어가있으므로 넣어줘야 함. 기본매개변수는 아님. 기본매개변수였으면 0 이렇게 되어 있었을 것. 키워드 매개변수). data 다음으로 오는 변수들이 키워드 매개변수

Docstring을 보면 Two-dimensional(2차원), heterogeneous tabular data(여러개의 데이터가 들어갈 수 있다)

 

데이터 분석에서 각각의 행(row)인덱스(index)라고 함. (인덱스 하면 배열을 생각하는데 거기서 탈피할 필요가 있음. 각각의 행을 인덱스라고 함.)
열(column)특징(feature)이라고 함.
인덱스와 컬럼을 안 주면 무조건 정수 형태로 정해짐.

 

 


4) 가변 매개변수 위로

 

 


문제

 

 


Custom 함수 정의하기

 

 


객체