본 포스팅은 elice의 2021 NIPA AI 온라인 교육을 듣고 개인 공부를 위해 정리한 것입니다.
컴퓨터에게 정보를 입력하고 컴퓨터가 작업을 하고 컴퓨터가 작업 결과를 출력
특정 기능을 수행하는 코드(들의 모임)
"라면 끓이기"라는 함수가 있다고 하자. 이 함수 안에는 여러 과정이 있을 것이다.
냄비를 가스레인지에 올리기, 가스레인지에 불을 켜기, 냄비에 물을 550mL 붓기, ...등
이 과정을 모두 묶어 "라면 끓이기"라고 한다.
컴퓨터는(파이썬 내부에서) 함수에게 어떤 자료형을 건네주게 된다. 함수는 input을 가지고 여러가지 명령을 수행 한 후(반복문, 조건문 등) 다시 컴퓨터에게 값을 알려주게 된다.
파이썬 개발자들이 이미 만들어 둔 함수들
그냥 편리하게 가져다 쓰면 된다😄
a = input() # Hello 입력
print(a) # Hello
print(max(1, 2, 3, 4, 5)) # 5
print(min([1, 2, 3, 4, 5])) # 1
print(sum(1, 2, 3, 4, 5)) # 15
print(len("Triangle")) # 8
사용자가 여러 코드를 묶어서 새로 만든 함수
def 함수이름(매개변수):
----<수행할 명령>
---- . . .
----return 반환값
❓ 왜 반환이 필요할까?
함수 내부에서 일어난 일은 함수 외부에서 알 수 없다! → 반환을 통해 외부로 전달!
my_list = [1, 3, 5, 7, 9]
var1 = sum(my_list)
var2 = len(my_list)
var3 = var1 / var2
print(var1, var2, var3)
>>> 25 5 5.0
def plus_print(a, b):
c = a + b # c를 생략 후 print(a+b)하는게 더 간단
print(c)
def times_return(a, b):
d = a * b # d를 생략 후 return(a*b)하는게 더 간단
return d
plus_print(3, 4)
print(times_return(3, 4))
>>> 7
12
특정 자료에 대해 특정 기능을 하는 코드 (→ 특정 기능을 하는 코드 = 함수)
리스트 활용시 append()
, count()
, pop()
이런 것들이 리스트의 메서드!
함수는 특정 기능을 한다(매개변수를 이용해 자료를 전달해준다)
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()
my_dict = {"cat" : "고양이", "dog" : "강아지", "parrot" : "앵무새"}
var1 = my_dict.keys()
var2 = my_dict.values()
print(var1)
print(var2)
>>>
dict_keys(['cat', 'dog', 'parrot'])
dict_values(['고양이', '강아지', '앵무새'])
💎인자와 매개변수 둘은 비슷해 보이지만, 다른 뜻!!!!💎
def solve(a, b):
return (a * b)
var1 = solve(3, 4)
var2 = solve(3, ['Cham'])
print(var1)
print(var2)
>>>
12
['Cham', 'Cham', 'Cham']