1. 함수(Function)와 메서드(method)
- 함수: 반복된 기능을 함수로 구현하여 반복된 코드를 줄일 수 있다.
# 함수의 정의
def add(a, b):
return a + b
# 함수의 호출
add(4, 10)
결과: 14
- 함수의 반환값(return): return 예약어를 이용하여 결괏값 반환, 반환과 동시에 함수 종료(return이 없을 때는 함수의 기능을 전부 사용했을 때도 종료함)
def test(a,b):
for x in (range(a, b+1)):
if x>= 10:
return
#여기서 return은 break 과 같은 효과
print(x)
test(1,19)
결과: 1 2 3 4 5 6 7 8 9
- 함수의 매개변수
def sub(a, b):
return a - b
# 위치에 의한 매개변수 전달
print("sub: ",sub(10, 7))
결과: sub: 3
# 이름에 의한 매개변수 전달
print("sub: " ,sub(b=7, a=10))
결과: sub: 3
# 입력값의 개수가 미정일 경우
def sum(*nums):
result = 0
for x in nums:
result += x
return result
print("sum: ", sum(1, 2, 3))
결과 : sum: 6
# 키워드 매개변수
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs(name='홍길동', age=30)
결과: {'name': '홍길동', 'age': 30}
- 재귀함수 : 함수안에서 자신을 호출(재귀)하는 함수
#재귀함수 예제
#피보나치 수열은 앞의 두 수를 계속 더해 가는 수열로 수식은 f(n+2) = f(n+1) + f(n)
def fibo(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibo(n-1) + fibo(n-2)
print(fibo(10))
결과 : 55
- 함수 예제
# 이 함수는 리스트를 매개변수로 받아 리스트의 최대값을 반환합니다.
# find_max 함수를 호출하여 [1, 3, 2, 8, 5, 10]과 [-10, -20, -30, -5]의 최대값을 출력하세요.
def find_max(list):
max_value = list[0]
for num in list:
if num > max_value:
max_value = num
return max_value
# return max(list)
print(find_max([1, 3, 2, 8, 5, 10]))
print(find_max([-10, -20, -30, -5]))
결과 : 10 -5
2. Python 내장함수 : Python 자체에 내장된 기본 함수기능
- abs(x): 어떤 숫자를 입력받았을 때 그 숫자의 절댓값을 리턴
- all(x): 반복 가능한 데이터 x를 입력값으로 받으며 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 리턴(반복 가능한 데이터란 for 문에서 사용할 수 있는 자료형을 의미한다. 리스트, 튜플, 문자열, 딕셔너리, 집합 등이 있음. and와 비슷함)
- any(x): 반복 가능한 데이터 x를 입력으로 받아 x의 요소 중 하나라도 참이 있으면 True를 리턴하고 x가 모두 거짓일 때만 False를 리턴(or 과 비슷함)
- chr(i): 유니코드 숫자 값을 입력받아 그 코드에 해당하는 문자를 리턴
- divmod(a,b): 2개의 숫자 a, b를 입력으로 받음. 그리고 a를 b로 나눈 몫과 나머지를 튜플로 리턴
- input([prompt]): 사용자 입력을 받는 함수, 입력 인수로 문자열을 전달하면 그 문자열은 프롬프트가 됨
- len(s): 입력값 s의 길이(요소의 전체 개수)를 리턴하는 함수
- max(iterable): 인수로 반복 가능한 데이터를 입력받아 그 최댓값을 리턴하는 함수
- min(iterable): 인수로 반복 가능한 데이터를 입력받아 그 최솟값을 리턴하는 함수
- sorted(iterable): 입력 데이터를 정렬한 후 그 결과를 리스트로 리턴하는 함수
- reversed(iterable): 입력 데이터를 반대로 정렬한 후 그 결과를 리스트로 리턴하는 함수
- zip(*iterable): 동일한 개수로 이루어진 데이터들을 묶어서 리턴하는 함수
print("절댓값: ",abs(-10))
절댓값: 10
print("all: " , all([False, False,True]))
all: False
print("any: " , any([False, False,True]))
any: True
print("chr :",chr(65))
chr : A
print("divmod: ",divmod(10,3))
divmod: (3, 1)
print("input: ", input("입력"))
print(len([1,2,3,4,5]))
len: 5
입력 작성 # "작성" 이라고 입력함
input: 작성
print("max: ", max(1,2,3,4,5,6))
max: 6
print("min: ", min(1,2,3,4,5,6))
min: 1
print("sorted: ",sorted([1,3,9,4]))
sorted: [1, 3, 4, 9]
print("reversed: " ,list(reversed("abced")))
reversed: ['d', 'e', 'c', 'b', 'a']
list(zip([1, 2, 3], [4, 5, 6]))
list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
list(zip("abc", "def"))
input_str = "1 5 10 8 20 19 100"
print("zip: ",max(list(map(int , input_str.split()))))
zip: 100
'ABC 부트캠프 데이터 탐험가 4기' 카테고리의 다른 글
[7일차] ABC 부트캠프 : pandas 기초 , 데이터 전처리 기초(1) (0) | 2024.07.14 |
---|---|
[6일차] ABC 부트캠프 : Jupyter Notebook 활용 및 Python 기초 (4) (0) | 2024.07.12 |
[4일차] ABC 부트캠프 : Jupyter Notebook 활용 및 Python 기초 (2) (0) | 2024.07.11 |
[3일차] ABC 부트캠프 : Jupyter Notebook 활용 및 Python 기초 (1) (0) | 2024.07.09 |
[2일차] ABC 부트캠프 : ESG 특강 (0) | 2024.07.05 |