6.함수와 매서드

2021. 5. 11. 07:31python/파이썬

728x90

6.함수와 메서드

프로그래밍의 기본 틀
컴퓨터에게 정보를 입력(input)하고 컴퓨터가 작업(반복문,조건문 등등..)을 하고 컴퓨터가 작업 결과를 출력(print)

-함수
특정 기능을 수행하는 코드(들의 모임)
ex) 라면 끓이기 == 냄비올리기, 불붙이기, 물넣기, 면넣기 등등

함수의구조
파이썬에서 입력을 받고 어떤 명령을 수행하고 결과를 다시 돌려준다 즉 변환
ex) len() 자료의길이 , int()정수로 변환, str()문자로변환
    모두 자료를 넣으면 변환한다



*함수의 종류

-내장함수
파이썬 개발자들이 이미 만들어 둔 함수들 편리하게 가져사용하면 된다.

* input() - 자료를 입력하는 함수
* print() - 자료를 출력하는 함수
* max() - 시퀀스 자료의 최댓값을 구하는 함수
 ex)print(max(1, 2, 3, 4, 5)) #5
* min() - 시퀀스 자료의 최솟값을 구하는 함수
* sum() - 숫자 원소로 이루어진 시퀀스 자료의 합(갯수)
 ex)print(max(1, 2, 3, 4, 5)) #5 
* len - 시퀀스 자료의 길이를 구하는 함수
 ex) print(len("Triangle")) #8

-매개변수 와 인자
매개변수:함수 안에서 사용되는 변수
ex) for a in b    매개변수:a
인자(argument) : 함수를 호출할 때(사용할 때) 함수로 넘겨주는 자료
ex)
def plusDouble(a, b): #이때 a, b는 매개변수!
    return 2*(a+b)

print(plusDouble(3, 4)) #이때 3, 4는 인자!


-외장함수 == 사용자 지정 함수 (define:정의하다)
사용자가 여러 코드를 묶어서 새로 만든 함수
* def 함수이름(매개변수):
  <수행명령>
  ....
  return 반환값


-함수의 특징
함수 내부에서 일어난 일은 함수 외부에서 알수없으므로 반환(return)을 사용
함수 안에서 일어난 일은 함수 밖에 영향을 끼치지 않는다



-전역변수
어디서든 사용할수 있는 변수, 함수 밖에서 정의 된 변수
ex)
x = "hi"
def my_func():
    print(x)
my_func() #hi
print(x)  #hi

-지역변수
지역 변수는 함수 내부에서 선언된 변수로, 함수가 종료되면 소멸합니다.따라서 함수 외부에서 지역 변수를 참조x
ex)
def my_func():
    x = "hi"
    print(x)
my_func() #hi
print(x)  #Error



-메서드(Method)
특정 자료에 대해 특정 기능을 하는 코드

ex) list.append,   list.count,   list.pop

 

 

함수는 특정 기능을 한다(매개변수를 이용해 자료를 전달)  ,  독립적으로 특정한 일을 한다
ex) len(), sum(), min()

메서드는 특정 자료와 연관 지어 기능을 한다 (자료 뒤에.을 찍어 사용한다) 독립적으로 일을 못해 (짝궁).을 사용

ex) list.sort   ,   list.clear

 

파이썬 저장과 재사용

파라미터(parameter) - 함수값을 전달할 떄 받아주는 역할을 한다
매개변수, 아규먼트, args 라고도 불린다

def = definition of a function(함수의 정의)
if 와 마찬가지로 : <로 끝나야한다

ex) def 인사() :
     print('안녕하세요')                         
     인사()코드 작성시 print('안녕하세요')가 나온다

max 는 가장 큰 것을 찾아내는 함수이다
보통 소문자들이 대문자들보다 더 크다

min은 반대로 가장 작을것을 찾아내는 함수


@요약
함수는 특정 기능을 수행하는 코드의 모임!
내장 함수와 외장함수(사용자 지정 함수)
전역변수와 지역 변수의 차이
메서드의 특징

'python > 파이썬' 카테고리의 다른 글

시퀀스, set, bool, mapping  (0) 2021.06.30
파이썬 특징, 시퀀스, 슬라이스  (0) 2021.06.29
5.문자열/리스트 활용, 튜플, Dictionary  (0) 2021.05.11
4.반복문 - for,while  (0) 2021.05.11
3. 리스트 자료형 과 시퀀스  (0) 2021.05.10