프로그래밍/python
Python_함수
gunnwu
2023. 2. 7. 21:50
1.함수
- 프로그래밍에서의 함수 : 반복해서 사용할 코드를 미리 정의하고 필요할 때 사용하는 모듈
- 함수의 구성요소 : 입력(input)-매개변수(생략가능)
처리 : 코드(반복문, 조건문 등)
출력(output) : 처리결과(생략가능)
- def 함수명(매개변수(생략가능)): return
- return은 여러 개를 받을 수 있다.
ex) def calculate(a, b):
sum1 = a + b
mult = a * b
return sum1, mult
# 함수 만들기
def hello(name, x=1):
if loud == 1:
print(f'{name}님 안녕하세요? 반갑습니다.')
else:
print(f'{name}님 안녕하세요? 반가워요.')
# 함수 사용
hello(name='홍길동', x=1) # 매개변수 이름 = 값 으로 지정
hello(x=0, name='홍길동') # 매개변수 이름으로 지정하면 순서 변경 가능 =>굳이?
hello('홍길동', 0) # 매개변수 순서가 맞다면 매개변수 이름 생략 가능
hello('홍길동') # 함수 생성 시 x = 1 로 선언했으므로, 안쓰면 기본값 1이 입력됨
2. 임의의 여러 개의 매개변수
- *args 사용 함수 안에서 반복문을 사용하여 처리
def hello(*args, title):
print(args)# 튜플로 받는걸 확인하는 코드
for who in args:
print(f'{who} {title} 안녕하세요? 반갑습니다!')
# 함수 사용
hello('갑', '을', '병', title='선생님')
3. 함수의 예외처리
- 보통 if문을 사용하여 오류가 나오는 상황에 예외를 둔다.
#a를 b로 나누는 함수
def divv(a, b) :
if b == 0 :
print('나누는 값은 0이되면 안되요')
elif (type(a) != int) or (type(b) != int): #정수가 아닐경우의 예외처리(str..등등)
print('정수 연산만 가능.')
else:
result = a / b
return result
# 함수 사용
divv(30, 0)
divv(10, 'ab')
divv(30, 5)
4. 주요 내장함수
1. abs(x) : x의 절댓값 반환
2. all(x) : x의 요소가 참일 때 True를 반환
a = [0, 1, 2, 3, 4]
all(a)
#실행결과
#False (0이 들어갔기때문에)
3. any(x) : x의 요소 중 하나라도 참이면 True 반환
4. chr(x) : 아스키코드값 x에 대응하는 문자 반환
5. ord(x) : 문자 x의 아스키코드값을 반환
6. eval(x) : 실행 가능한 문자열 x를 받아 실행결과 반환
eval('1 + 2')
eval('print("ABC")')
7. map(f,x) : 함수 f에 x요소를 하나씩 전달해 얻는 결과 반환
a = [1, 2, 3, 4, 5]
b = list(map(lambda x: x * *2, a))
print(b)
#실행결과
#[1, 4, 9, 16, 25]
8. zip(x,y) : x와 y의 각각 요소들을 쌍으로 반환
a = [1, 2, 3, 4, 5]
b = [1, 2, 3, 4]
list(zip(a, b))
#실행결과
#[(1, 1), (2, 2), (3, 3), (4, 4)]
9. pow(x,y) : x를 y번 제곱한 결과를 반환
10. sorted(x) : x요소들을 정렬(디폴트는 오름차순, reverse=True 하면 내림차순 )
11.divmod(x, y) : x를 y로 나눈 몫과 나머지를 튜플 형태로 반환
x = 23
y = 7
divmod(x, y)
#실행결과
#(3,2)