본문 바로가기
파이썬

파이썬 기초 - 함수

by python pro 2023. 1. 22.
반응형

파이썬 함수 

파이썬에서 함수를 정의하는 기본 구문은 다음과 같습니다.

def 함수명(매개변수1, 매개변수2, ...):
    실행문1
    실행문2
    ...
    return 반환값

예를 들어, 다음은 구구단을 출력하는 함수를 정의한 것입니다.

def print_gugudan(dan):
    for i in range(1, 10):
        print(dan * i)

 

매개변수는 함수를 호출할 때 전달하는 인자를 받아서 사용할 수 있습니다. 함수를 호출할 때는 함수명(인자1, 인자2, ...) 형식으로 사용합니다.

print_gugudan(3)

 

함수는 여러 개의 매개변수를 전달받을 수 있습니다. 이때, 기본값을 갖는 매개변수를 선언할 수 있습니다. 기본값을 갖는 매개변수는 함수를 호출할 때 값을 전달하지 않아도 됩니다. 예를 들어, 다음 함수는 계산할 때 기본적으로 2를 곱하며, 곱할 수를 전달할 수도 있습니다.

def multiple(x, y=2):
    return x * y

print(multiple(3))  # 6
print(multiple(3, 4))  # 12

함수는 return 문을 사용해서 값을 반환할 수 있습니다. return 문을 사용하면 함수를 호출한 곳으로 값을 반환할 수 있습니다.

def add(x, y):
    return x + y

result = add(3, 4)
print(result)  # 7

함수를 정의할 때 주의해야 할 점으로는, 함수 안에서 전역 변수를 수정하면 전역 변수도 변경되므로 주의해야 합니다.

 

또한, 함수를 정의할 때 지역 변수와 전역 변수를 구분해야 합니다. 지역 변수는 함수 내부에서만 사용되며, 함수 외부에서는 접근할 수 없습니다. 전역 변수는 함수 내부에서도 외부에서도 접근할 수 있습니다.

 

함수를 정의할 때는 재사용이 가능한 코드를 만드는 것을 목표로 합니다. 이를 위해 함수를 작성할 때는 하나의 특정 기능을 수행하도록 작성하며, 이름도 기능을 명확하게 나타낼 수 있도록 지어야 합니다.

 

잘못된 예시로는, 전역 변수를 수정하는 함수를 작성하는 것입니다. 함수의 입력값과 출력값을 통해서만 기능을 수행하는 것이 좋습니다.

또한, 함수 이름을 잘못 지어서 기능을 명확하게 나타내지 못하는 것도 잘못된 예시입니다. 예를 들어 "do_something" 이라는 이름의 함수를 정의하면, 함수가 어떤 기능을 수행하는지 알 수 없습니다.

 

이러한 예시를 피하려면 함수를 작성할 때는 하나의 특정 기능을 수행하도록 작성하고, 함수 이름도 기능을 명확하게 나타낼 수 있도록 지어야 합니다. 예를 들어 "calculate_average" 같은 이름으로 함수를 정의하면, 함수가 평균을 계산하는 기능을 수행한다는 것을 알 수 있습니다.

 

아래는 파이썬 함수의 예시 코드들 입니다.

 

팩토리얼 함수

def factorial(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    return result

print(factorial(5)) # 120

 

평균 구하는 함수

def calculate_average(numbers):
    total = sum(numbers)
    return total / len(numbers)

print(calculate_average([1, 2, 3, 4, 5])) # 3.0

 

 

짝수/홀수 판별 함수

def check_even_or_odd(n):
    if n % 2 == 0:
        return "even"
    else:
        return "odd"

print(check_even_or_odd(5)) # "odd"
print(check_even_or_odd(6)) # "even"

 

이름 출력 함수

def greet(name):
    return "Hello " + name

print(greet("John")) # "Hello John"

 

 

구구단 구하는 함수

def print_multiplication_table(n):
    for i in range(1, 10):
        print(f"{n} x {i} = {n*i}")

print_multiplication_table(5)

 

 

최대값 구하는 함수

def find_max(numbers):
    max_num = numbers[0]
    for number in numbers:
        if number > max_num:
            max_num = number
    return max_num

print(find_max([1, 2, 3, 4, 5, 6])) # 6

 

파일 읽기 함수

def read_file(file_path):
    with open(file_path, "r") as file:
        return file.read()

print(read_file("example.txt"))

 

리스트 요소 검색 함수

def search_list(numbers, target):
    for i,

 

반응형

'파이썬' 카테고리의 다른 글

파이썬 기초 - 클래스 (class)  (0) 2023.01.22
파이썬 기초 - 패키지 (package)  (0) 2023.01.22
파이썬 기초 - 반복문  (0) 2023.01.22
파이썬 기초 - 조건문  (0) 2023.01.22
파이썬 기초 - 연산자  (0) 2023.01.22

댓글