[python] 함수 작성법 (기본 및 고급 함수)

혜진·2024년 8월 7일

Python

목록 보기
6/16
post-thumbnail

Python의 함수 작성법 (기본 및 고급 함수)

내장 함수

Python은 다양한 내장 함수를 제공하여 프로그래밍을 더욱 효율적으로 만들어 준다.

📑 sum(), bin(), int(), float(), str() 함수 사용 예제

# 리스트, 집합, 튜플의 합계 계산
print(sum([3, 4]), sum({3, 4}), sum((3, 4)))  # 출력: 7  7  7

# 숫자를 2진수로 변환
print(bin(8))  # 출력: 0b1000

# 형 변환 예제
print(int(1.7), float(3), str(5) + '오')  # 출력: 1 3.0 5오

# eval()을 사용하여 수식 계산
a = 10
b = eval('a+5')
print('b=', b)  # 출력: b=15

# round() 함수로 반올림
print(round(1.2), round(1.6))  # 출력: 1 2

import math
# math 모듈의 ceil(), floor() 함수
print(math.ceil(1.2), math.ceil(1.6))  # 출력: 2 2
print(math.floor(1.2), math.floor(1.6))  # 출력: 1 1

논리 연산 관련 내장 함수

Python은 리스트의 모든 요소가 참인지, 하나라도 참인지 확인할 수 있는 all()과 any() 함수를 제공한다.

📑 all(), any() 함수 사용 예제

b_list = [True, 1, False]
print(all(b_list))  # 모두가 참일 때만 참, 출력: False
print(any(b_list))  # 하나라도 참일 때 참, 출력: True

b_list2 = [1, 3, 2, 5, 7, 6]

# 리스트 내의 모든 숫자가 10 미만인지 확인
re = all(a < 10 for a in b_list2)
print('모든 숫자가 10미만이냐?', re)  # 출력: True

# 리스트 내에 3 미만의 숫자가 있는지 확인
re = any(a < 3 for a in b_list2)
print('숫자 중에서 3미만이냐?', re)  # 출력: True

zip() 함수 사용법

zip() 함수는 여러 리스트의 동일한 인덱스에 있는 요소들을 묶어 튜플로 만든다.

📑 zip() 함수 사용 예제

print('복수개의 리스트로 튜플을 만들기')

x = [10, 20, 30]
y = ['a', 'b']
for i in zip(x, y):
    print(i)

# 출력:
# (10, 'a')
# (20, 'b')

사용자 정의 함수

특정 작업을 수행하는 코드 블록

📑 기본 사용자 정의 함수 예제

print('\n사용자 정의 함수')

# 1. 매개변수 X, 반환값 X
def DoFunc1():
    print('DoFunc1 호출')

# 2. 매개변수 O, 반환값 X
def DoFunc2(name):
    print('안녕', name)

# 3. 매개변수 O, 반환값 O
def DoFunc3(arg1, arg2):
    re = arg1 + arg2
    return re

# 함수 호출
DoFunc1()  # 출력: DoFunc1 호출
DoFunc2('한국인')  # 출력: 안녕 한국인
print(DoFunc3('대한', '민국'))  # 출력: 대한민국

📑 함수 내부에서 다른 함수 호출

# 삼각형의 면적을 구하는 함수
def Area_tri(a, b):
    c = a * b / 2
    Area_print(c)

def Area_print(c):
    print('삼각형의 면적은', c)

# 함수 호출
Area_tri(20, 30)  # 출력: 삼각형의 면적은 300.0

📑 반환값이 있는 함수

함수는 여러 값을 반환할 수 있으며, 이를 튜플로 반환한다.

def Swap(a, b):
    return b, a

t = Swap(3, 4)
print('t=', t)  # 출력: t= (4, 3)

📑 가변 매개변수 함수

가변 매개변수를 사용하여 함수에 여러 인수를 전달할 수 있다.

def ListHap(*ar):
    print(ar)

list1 = [1, 3, 5]
list2 = [1, 2, 6]
ListHap(list1, list2)  # 출력: ([1, 3, 5], [1, 2, 6])

0개의 댓글