본문 바로가기
이론 & 팁

아티스트를 위한 파이썬과 PyQt5: 3강 - 함수와 모듈

by 아트하는 개발자 2024. 8. 14.

강의 목표

  • 함수의 정의와 호출 방법을 이해하고, 파이썬 모듈을 사용하여 코드를 구조화하는 방법을 배웁니다. 이렇게 사용하면 코드의 가독성을 높이고, 유지보수가 용이해지며, 더 큰 프로젝트에서 효과적으로 작업할 수 있습니다.

목차

  1. 함수
    1. 함수의 정의와 호출
    2. 매개변수와 반환값
    3. 기본값 매개변수와 키워드 인자
    4. 람다 함수
  2. 모듈
    1. 모듈의 개념과 사용법
    2. 표준 라이브러리 모듈 사용
    3. 사용자 정의 모듈 작성
    4. 모듈 검색 경로와 패키지

함수

함수의 정의와 호출

함수는 특정 작업을 수행하는 코드 블록입니다. 메소드라고 부르는 분들도 계시는데, 클래스로 작업을 많이 하신 분들은 약간 자연스럽게 나오시는 것 같습니다. 아무튼 파이썬에서 함수를 정의하려면 def 키워드를 사용합니다. 함수를 호출하여 정의된 작업을 수행할 수 있습니다. 

# 함수 정의
def greet(name):
    return f"Hello, {name}!"

# 함수 호출
print(greet("Alice"))

매개변수와 반환값

함수는 입력값(매개변수)을 받아 작업을 수행하고, 결과를 반환할 수 있습니다. 함수는 return 문을 사용하여 값을 반환합니다. 파이썬에서 출력할 때 사용하는 print도 함수입니다.

def add(a, b):
    return a + b

result = add(5, 3)
print(result)  # 출력: 8

기본값 매개변수와 키워드 인자

함수의 매개변수에는 기본값을 지정할 수 있습니다. 즉, 함수 호출 시 매개변수에 값을 전달하지 않으면, 기본값으로 지정된 값이 사용됩니다. 쉽게 말해, 매개변수에 다른 값을 입력하지 않으면 함수는 처음에 설정된 값으로 동작하게 됩니다.

이 기능을 사용하는 이유는 여러 가지가 있지만, 저 같은 경우 주로 초기값이 없는 상태에서 발생할 수 있는 에러를 줄이기 위해 사용합니다. 예를 들어, 특정 매개변수를 필수적으로 입력받아야 하는 상황이 아니라면, 기본값을 설정해둠으로써 예상치 못한 오류를 방지할 수 있습니다.

또한, 매개변수를 입력하지 않았을 때 기본값이 제대로 적용되는지 확인할 수 있어, 이후 코드 수정이나 디버깅이 용이해집니다. 그래서 저는 함수 매개변수에 기본값을 자주 활용합니다.

def greet(name="Guest"):
    return f"Hello, {name}!"

print(greet())  # 출력: Hello, Guest!
print(greet("Bob"))  # 출력: Hello, Bob!

람다 함수

람다 함수는 간단한 익명 함수를 작성할 때 사용됩니다. 함수 이름 없이 정의할 수 있으며, 단일 표현식을 처리하여 반환합니다. 이런 이유로 람다 함수는 간단한 일회성 작업이나 짧은 코드에서 유용하게 쓰입니다.

square = lambda x: x * x
print(square(4))  # 출력: 16

 

모듈

모듈의 개념과 사용법

모듈은 파이썬 파일로, 관련된 함수, 클래스, 변수 등을 모아둔 것입니다. import 키워드를 사용하여 모듈을 불러와 사용할 수 있습니다. C언어에서 사용하는 include와 같은 역할입니다.

import math

print(math.sqrt(16))  # 출력: 4.0

표준 라이브러리 모듈 사용

파이썬은 많은 표준 라이브러리 모듈을 제공합니다. 이들은 다양한 기능을 포함하고 있어, 복잡한 작업을 쉽게 수행할 수 있습니다. math, datetime, os, sys, json 등이 있습니다.

import random

print(random.randint(1, 10))  # 1과 10 사이의 랜덤한 정수 출력

사용자 정의 모듈 작성

사용자 정의 모듈을 작성하여, 다른 파일에서 이를 가져와 사용할 수 있습니다. 새로운 .py 파일을 만들어 함수나 변수를 정의하고, 이를 다른 파일에서 import하여 사용합니다.

아래처럼 my_module.py로 코드를 작성하고 저장합니다.

def multiply(a, b):
    return a * b

그러면 주로 동작이 되는 코드에서 가져와서 사용할 수 있게됩니다.

import my_module

result = my_module.multiply(3, 4)
print(result)  # 출력: 12

모듈 검색 경로와 패키지

파이썬은 모듈을 불러올 때, 특정 경로에서 모듈을 검색합니다. 이를 sys 모듈을 사용해 확인할 수 있습니다. 또한, 패키지를 사용하여 모듈을 계층 구조로 관리할 수 있습니다. 그렇기 때문에 모듈을 직접 새로 만들었다면 경로를 잘 확인하셔야 합니다. 

import sys

print(sys.path)  # 모듈 검색 경로 출력

연습문제 

 

  • 문제 1: 두 숫자를 더하는 함수 작성 (add_numbers)
  • 문제 2: 리스트 요소의 합을 구하는 함수 작성 (sum_list)
  • 문제 3: 문자열을 소문자로 변환하는 함수 작성 (to_lowercase)
  • 문제 4: 사용자 정의 모듈을 만들어 함수 호출 (my_module.py, multiply)
  • 문제 5: math 모듈을 사용하여 숫자의 제곱근 계산 (calculate_square_root)

풀이

마무리

이 정도를 하실 수 있으시다면 일단 어느정도 파이썬을 사용할 수 있는 상태가 되었다고 볼 수 있을 것 같습니다. 다음부터는 조금씩 PyQT의 내용도 추가해서 진행하겠습니다.

 

아티스트를 위한 파이썬과 PyQt5 : 2강 - 변수와 데이터 타입, 조건문과 반복문

 

아티스트를 위한 파이썬과 PyQt5 : 2강 - 변수와 데이터 타입, 조건문과 반복문

강의 목표파이썬의 기본 데이터 타입과 변수 사용법, 조건문과 반복문을 익힌다.목차변수와 데이터 타입변수의 개념과 선언 방법기본 데이터 타입: 숫자(int, float), 문자열(str), 불리

creativecodingart.tistory.com

아티스트를 위한 파이썬과 PyQt5: 4강 - 파일 입출력, 예외 처리, 그리고 주요 자료구조

 

아티스트를 위한 파이썬과 PyQt5: 4강 - 파일 입출력, 예외 처리, 그리고 주요 자료구조

강의 목표파일을 열고, 읽고, 쓰는 방법을 익히고, 이를 활용한 간단한 프로그램을 작성할 수 있습니다.프로그램이 예기치 않은 상황에서도 오류 없이 동작할 수 있도록 예외를 처리하

creativecodingart.tistory.com

 

반응형