자료의 출처는 엘리스 AI 트랙(https://aitrack.elice.io/courses/) '도레미 파이썬' 이며, 학습 후 정리한 내용입니다.
⚡️올바르지 않은 내용이 있을 경우 댓글로 남겨주시면 감사하겠습니다.⚡️
수강 목표
- 함수가 무엇인지 이해한다.
- 내장 함수를 사용하고, 함수를 직접 만들 수 있다.
- 메서드와 함수의 차이를 이해한다.
함수와 메서드
함수
프로그래밍의 기본 틀
컴퓨터에게 정보를 입력하고 컴퓨터가 작업을 하고 컴퓨터가 작업 결과를 출력
함수
특정 기능을 수행하는 코드(들의 모임)
함수의 구조
len(): 자료를 넣으면 그 자료의 길이를 알려준다
int(): 자료를 넣으면 정수형으로 변환해서 알려준다.
str(): 자료를 넣으면 문자열로 변환해서 알려준다.
함수의 종류
내장 함수
파이썬 개발자들이 이미 만들어 둔 함수들
편리하게 가져다 쓰면 된다.
print()
len()
max()
int()
input()과 print()
input(): 자료를 입력하는 함수
print(): 자료를 출력하는 함수
a = input() # Hello 입력
print(a) # Hello
max()와 min()
max(): 시퀀스 자료의 최댓값을 구하는 함수
min(): 시퀀스 자료의 최솟값을 구하는 함수
단, 시퀀스 안의 원소가 모두 숫자형 자료여야 한다.
print(max(1, 2, 3, 4, 5)) # 5
print(min([1, 2, 3, 4, 5])) # 1
sum()과 len()
sum(): 숫자 원소로 이루어진 시퀀스 자료의 합
len(): 시퀀스 자료의 길이를 구하는 함수
print(sum(1, 2, 3, 4, 5)) # 15
print(len("Triangle")) # 8
사용자 지정 함수
사용자가 여러 코드를 묶어서 새로 만든 함수
def plusDobule(a ,b):
c = a+b
return 2*c
print(plus(3, 4)) # 14
함수 만들기
define(정의하다) 키워드를 이용해서 함수 정의
def 함수이름(매개변수): #매개변수: 함수 안에서 사용되는 변수
<수행할 명령>
...
return 반환값
함수의 입력
매개변수를 이용해서 함수 내부로 값을 전달
# 매개변수(parameter): 함수를 정의할 때(만들 때) 넘겨받은 값을 관리하는 변수
# 인자(argument): 함수를 호출할 때(사용할 때) 함수로 넘겨주는 자료(함수를 사용할 때 매개변수에 실제로 대응하는 값)
def 함수이름(매개변수): # 함수의 입구 부분이 매개변수
<수행할 명령>
...
return 반환값
함수 속 명령 작성
같은 들여쓰기를 통해 명령 작성 # 작용(기능)
def 함수이름(매개변수):
____<수행할 명령>
____...
____return 반환값
함수의 반환(출력)
return을 이용해 함수 외부로 값을 전달
def 함수이름(매개변수): # 함수의 입구 부분이 매개변수
<수행할 명령>
...
return 반환값
왜 반환이 필요할까?
함수 내부에서 일어난 일은 함수 외부에서 알 수 없다! -> 반환을 통해 외부로 전달
def plus(a, b):
c = a+b
return c
print(plus(3, 4))
def plus(a, b):
c = a+b
return c
print(7)
전역 변수와 지역 변수
함수와 변수
왜 x가 출력 되지 않을까?
함수 안에서 일어난 일은 함수 밖에 영향을 끼치지 않는다!
def my_func(a):
x = "Hi"
print(a)
a = 3
my_func(a) # 3
print(x) # error
전역 변수
어디서든지 사용할 수 있는 변수로 함수 밖에서 정의된 변수
x = "Hi!"
def my_func():
print(x)
my_func() # Hi!
print(x) # Hi
지역 변수
특정 구문(for문, 함수...) 안에서 정의한 변수
변수를 정한 범위에서만 사용이 가능!
def my_func():
x = "Hi?"
print(x)
my_func() # Hi?
print(x) # error
Tip!
print() 함수의 형식
print(data, end="\n", sep=" ")
data에는 출력할 자료를, end에는 data 출력 이후 출력할 문자열을 넣는다. (기본값은 줄바꿈 문자 "\n"이다,)
sep에는 data가 여러개인 경우, 각 data 사이에 출력할 문자열을 넣는다. (기본값은 공백 한 칸 " "이다.)
이때, end와 sep은 "end=", "sep=" 형식으로 인자를 전달해야한다.
예시
print(1, 2, 3, end="")
print(4, 5, 6, sep="")
##실행 결과##
1 2 3456
Method(메서드)
특정 자료에 대해 특정 기능을 하는 코드
my_list = [1, 2, 3]
my_list.append(4)
my_list.count(2)
my_list.pop()
함수 vs 메서드
함수는 특정 기능을 한다. (자료에 독립)
(매개변수를 이용해 자료를 전달해준다)
my_list = [1, 2, 3]
len(my_list)
sum(my_list)
min(my_list)
매서드는 특정 자료와 연관 지어 기능을 한다.(자료에 종속)
(자료 뒤에 .을 찍어 사용한다)
my_list = [1, 2, 3]
my_list.sort()
my_list.pop()
my_list.clear()
* 참고
- 딕셔너리.keys() : Dictionary형 dict의 모든 Key를 반환
- 딕셔너리.values() : Dictionary형 dict의 모든 Value를 반환
'IT > Python' 카테고리의 다른 글
도레미 파이썬: 객체 (0) | 2021.06.16 |
---|---|
도레미 파이썬: 모듈과 패키지 (0) | 2021.06.16 |
엘리스 AI 트랙 도레미 파이썬 05. 기초 자료형 II (0) | 2021.05.06 |
엘리스 AI 트랙 도레미 파이썬 04. 반복문 (0) | 2021.05.05 |
엘리스 AI 트랙 도레미 파이썬 03. 리스트 (0) | 2021.05.05 |
댓글