Python(5) | def, callback, lambda, class

2025. 10. 25. 02:59·개념 정리 step1/Python 기초

안녕하세요! 
 
오늘은 파이썬의 사용자 정의 함수, 콜백과 람다, class까지 공부해 보도록 하겠습니다.😉


◻️1. 사용자 정의 함의

사용자가 특정 작업을 수행하기 위해 직접 작성한 함수이다.
파이썬에는 많은 내장 함수들이 있지만, 사용자(개발자)의 요구사항에 맞게 동작하는 함수를 직접 사용해야 될 때도 있다.
 
def 함수명(매개변수1, 매개변수2, ...):
    # 함수 내용
    return 결과값  # 필요에 따라 사용
 

1. 매개변수와 반환 값이 없는 함수

def func1():
    print('처음으로 만드는 함수!')
 
func1()
 
# 반복문 사용
for i in range(5):
    func1()
 

2. 매개 변수가 있고 반환 값이 없는 함수

def func2(num):  # func2를 함수를 호출할 때 매개변수를 넣어줘야 한다.
    print(f'입력받은 숫자: {num}')
 
def func3(start, end):  # 파이썬은 타입등을 알 수 없음
    sum = 0
    for i in range(start, end+1):
        sum += i
    print(f'{start}부터 {end}까지의 합: {sum}')
 
func3(5, 10)
 

3. 반환 값이 있는 함수

temp = func1()
print(temp)     # print()하고 반환 할 값이 없기 때문에 None을 호출한다.
 
temp = func1  # 변수처럼 ()가 없을 때,
print(temp)      # 함수의 주소가 나옴
temp()             # 가리키는 주소가 있으니 temp()로 함수 호출 가능

# 이것과 같은 원리
num1 = 10
num2 = num1
 

4. 기본값이 설정된 매개변수

def func6(num1=0, num2=0):
    sum = num1 + num2
    return sum
print(func6())      # 기본값이 설정된 0 + 0 이 실행된다.
print(func6(10))  # 10 + 0
print(func6(10, 3))
# print(func6(, 3))
# print(func6(None, 3))  # None값이랑 계산 오류
print(func6(num2=3))

 

5. 가변 매개변수

함수를 호출할 때 * 를 사용하면 시퀀스(리스트, 튜플 등)의 요소를 위치 인자로 풀어서 전달 가능.

def func7(*args):  # 그냥 변수이름, 여러개 매게변수라는 뜻
    return args       # 출력 시 튜플로 출력된다.
def func8(a, b, c):
    return a + b + c
 
numbers = [1, 2, 3]
print(func8(*numbers))  # 합쳐져 있는 시퀀스의 요소를 위치 인자 각각 전달한다.

 

6. 키워드 매개 변수

키워드 매개 변수는 일반적으로 기본값이 설정된 매개변수와 함께 사용된다.
매개변수에 기본값을 설정하면 함수를 호출할 때 매개변수를 생략할 수 있다.

def func9(id, name, age):
    print(f'아이디: {id}')  # 딕셔터리 형태
    print(f'이름: {name}')
    print(f'나이: {age}')
 
func9(age=20, id='apple', name='김사과')  # 데이터를 매개변수로  보낸다.

 

dic1 = {'age':25, 'id':'banana', 'name':'반하나'}
func9(**dic1)    # ** : 딕셔너리가 언패킹 후 '같은 키워드' 의 인자에 전달된다.
func9(*dic1)      # * : 키가 정의된 순서대로 전달대며 즉, func9('age', 'id', 'name') 와 동일하다.

 
 

7. 여러 개의 반환 값

def func10(num1=0, num2=0):
    return num1+num2, num1-num2, num1*num2, num1/num2  # 여러개의 값을 반환
 
result = func10(10, 3)  출력: (13, 7, 30, 3.3333333333333335)  # 튜플로 묶여서 출력된다.
 
result1, result2, result3, result4 = func10(10, 3)
print(f'덧셈:{result1}')
print(f'뺄셈:{result2}')
print(f'곱셈:{result3}')
print(f'나눗셈:{result4}')
 
결과 출력:
덧셈:13
뺄셈:7
곱셈:30
나눗셈:3.3333333333333335

 
여러 개의 변수에 각각의 값을 반환 할 수 있다.
하지만 변수를 많이 만들면 그 만큼의 메모리를 많이 사용한다는 뜻이기도 하다.
_, _, result3. _ = func10(10, 3)
print(f'곱셈: {result3}')
# 필요 없는 값엔 _ 를 사용하면 된다.
# print(_) 를 입력하면 데이터상 마지막 데이터의 값이 출력된다. 예) 3.33333...
 

li1 = [10, 20, 30, 40, 50]

for _, v in enumerate(li1):  # enumerate 함수에 대한 밑에 설명 추가.
    print(f'값: {v}')
 
출력:
값: 10
값: 20
값: 30
값: 40
값: 50

☑️ enumerate 함수
파이썬의 내장 함수이며, 반복 가능한 객체(리스트, 튜플, 문자열 등)를 입력받아, key와 value를 한 쌍으로 묶어 반환한다.
 

8. 메모리 제거

함수도 파이썬 객체이므로 참조 카운팅과 가비지 컬렉션 원칙에 따라 동작한다.

함수를 참조하는 변수나 요소가 없게 되면, 함수는 메모리에서 제거될 수 있다. del명령어를 사용해 명시적으로 제거할 수 있다.
def func1():
    함수 내용
    return
 
# del 사용한 함수 제거
del fun1()
 
 

◽9. None의 특징

None는 파이썬에서 특별한 값, 아무런 값이 없음을 표현하는데 사용.
파이썬의 내장 상수이며, 데이터 타입이 NoneType 이다.
모든 None 은 동일하며, 두 개의 None를 비교할 땐 항상 True를 반환한다.
 

def my_function(x):
    if x > 10:
        return x
    # x가 10 이하일 때는 아무런 값도 반환하지 않습니다. 실제로는 None이 반환됩니다.

 

def hello(message=None):
    if message is None:  # 객체의 주소랑 비교를 하기 때문에 is
        print("Hello!")
    else:
        print(message)
li1 = [1, 2, 3, 4, 5]
li2 = [1, 2, 3, 4, 5]

# 객체 비교
result1 = li1 is li2  # 값이 같아도 절대 같은 메모리를 사용하는 것이 아님. False
# 값 비교
result2 = li1 == li2  # 값 자체의 비교 True

print(result1)  # False
print(result2)  # True
 
 
# 값의 존재 여부 확인 예:
if data is None:   # 이런 식으로 사용 가능   
     print('데이터를 수신하지 못함!')

◻️2. 범위

변수의 범위(scope)는 해당 변수가 프로그램 내에서 참조되고 변경될 수 있는 영역을 의미한다.

  • 1. 지역(Local) 범위
  • 2. 함수 내부의 블록(Enclosing) 범위
  • 3. 전역(Global) 범위
  • 4. 내장 범위(Built-in)

1. 지역범위(local)

가장 내부의 범위, '함수 내에서 정의된 변수' 들이 해당된다. 함수 내에서만 접근할 수 있다.

def local_example():
    local_var = "로컬 변수"
    print(local_var)

local_example()

 

2. 함수 내부의 블록 범위

중첩된 함수 내부에서, 바깥쪽 함수의 변수들을 의미한다.
중첩 함수가 바깥 함수의 변수를 사용할 수 있게 해 준다.

def outer_function():
    enclosing_var = "둘러싼 범위 변수"  # 2번
    
    def inner_function():
        print(enclosing_var)  # 4번
    
    inner_function()  # 3번

outer_function()  # 1번 호출 순서

 

3. 전역범위(Global)

가장 바깥쪽에서 사용되는 범위로, '함수 외부에 정의된 변수'가 해당된다.
모든 함수에서 접근할 수 있지만, 함수 내부에서 수정하려면 global 키워드가 필요.

global_var = "I'm a global variable"

def test_global_scope():
	global global_var
	global_var = "변경할 값"
    
test_global_scope()
print(global_var)

 

4. 내장 범위(Built-in)

파이썬이 기본적으로 제공하는 내장 함수나, 예외들이 있는 범위이다.
예로 print(), len() 등이 해당된다.

len = 5  # 내장 함수 'len'을 덮어씀
print(len([1, 2, 3]))  # 오류 발생! len이 함수가 아니라 변수로 인식됨

◻️3. 콜백함수(Callback Function)

다른 함수에 인수로 전달되어 특정 작업이 끝난 후 호출되는 함수.
어떤 작업이 완료된 후 자동으로 호출되도록 미리 준비해 둔 함수이다. 직접 호출하지 않고, 특정 조건이 발생 시 실행되도록 설정.

def callback_func(func, num):  # func: 실행할 함수 자체를 받는다.(콜백)
    for i in range(num):
        func(i)

def print_hello(num):
    print('안녕하세요! 파이썬!', num)

def print_hi(num):
    print('하이! 파이썬!', num)
 
callback_func(print_hello, 3)
callback_func(print_hi, 5)
 
# 출력:
안녕하세요! 파이썬! 0
안녕하세요! 파이썬! 1
안녕하세요! 파이썬! 2
하이! 파이썬! 0
하이! 파이썬! 1
하이! 파이썬! 2
하이! 파이썬! 3
하이! 파이썬! 4

◻️4. 람다(Lambda Function)

익명의 간단한 함수를 생성하기 위한 특별한 구문이다.
"익명의 함수"라는 것은 함수에 고유한 이름이 지정되지 않았음을 의미.
일반적인 def함수와 달리, 한 줄로 표현되는 간결한 함수를 생성할 때 사용된다.

lambda 매개변수: 표현식

 

people = [
    {'name':'오렌지', 'age':30},
    {'name':'김사과', 'age':20},
    {'name':'반하나', 'age':25}
]

def sort_age(x):
    return x['age']

print(people[0])
print(sort_age(people[0]))

print(sorted(people, key=sort_age))  # 어떤걸 정렬할지 모르니 키 =>함수를 지정해줘야 된다.
# sorted가 key에다 등록을 함 => callback함수이다,
print(sorted(people, key=sort_age, reverse=True))
 
sorted_people = sorted(people, key=lambda x: x['age'])  
# def함수가 계속 필요없으니 람다를 사용해서 메모리를 아껴쓸수 있다.
print(sorted_people)

 

◽4-1. 람다가 유용하게 사용되는 대표적인 함수

1. filter 함수

filter()는 주어진 함수의 조건을 만족하는 항목만으로 이루어진 이터레이터를 반환한다.
주로 리스트나 다른 순차적인 데이터 타입에서 특정 조건을 만족하는 항목들을 필터링할 때 사용한다.

li = [2, 5, 7, 10, 15, 17, 20, 22, 25, 28]

def even(n):
    if n % 2 == 0:
        return True
    else:
        return False
 
result = list(filter(even, li)) 
# def함수에 li의 데이터를 전달, filter 작업을 거친 후 list에 순차적으로 저장, 그리고 result 변수에 저장
print(result)  # [2, 10, 20, 22, 28]

 

2. map 함수

map() 은 주어진 함수를 이터러블의 모든 항목에 적용하여 결과를 반환하는 이터레이터를 생성한다.
주로 리스트나 다른 순차적인 데이터 타입의 항목 각각에 함수를 적용할 때 사용한다.

words = ['apple', 'banana', 'orange', 'cherry']
upper_words = list(map(lambda x: x.upper(), words))
print(upper_words)
 
출력: ['APPLE', 'BANANA', 'ORANGE', 'CHERRY']
 
num = [1, 2, 3, 4, 5]
squared_num = list(map(lambda x: x**2, num))
print(squared_num)
 
출력: [1, 4, 9, 16, 25]

 
map() 함수는 결과를 이터레이터 형태로 반환하기 때문에 그 결과를 직접 출력하거나, 인덱싱 하거나, 슬라이싱 하기 위해서는 list()나 비슷한 함수를 사용하여 이터레이터를 실제 리스트나 다른 데이터 구조로 변환해야 합니다.


◻️5. 프로그래밍 방법론

 

5-1. 궁금해서 찾아본 자료

1) 절차적 프로그래밍 예시

  • 대표 언어: C, Pascal, FORTRAN, BASIC
  • 특징: 이 언어들은 데이터를 처리하는 '절차'와 '함수'를 순서대로 호출하는 방식으로 프로그램을 만듭니다.
  • 프로그램 예:
    • 운영체제 커널: 리눅스(Linux)나 윈도우(Windows)의 핵심 부분(커널)은 C언어로 작성되어, 하드웨어를 직접 제어하고 작업을 순서대로 처리하는 데 최적화되어 있습니다.
    • 임베디드 시스템: 냉장고, 세탁기, 프린터 등에 들어가는 펌웨어(firmware)는 C언어를 사용해 정해진 절차대로만 동작하도록 만드는 경우가 많습니다.

2) 객체지향 프로그래밍 (OOP) 예시

  • 대표 언어: Java, Python, C++, C#, Swift, Ruby
  • 특징: 이 언어들은 '데이터'와 '기능(메서드)'을 하나의 '객체'로 묶어 관리하는 데 특화되어 있습니다.
  • 프로그램 예:
    • 대부분의 최신 애플리케이션:
      • 웹 프레임워크: Python의 Django/Flask, Java의 Spring 등은 웹사이트의 기능(사용자, 게시물, 댓글 등)을 객체로 만들어 관리합니다.
      • 모바일 앱: Swift(iOS)나 Kotlin(Android)을 사용한 앱 개발 시, 화면의 버튼, 텍스트 필드, 사용자 정보 등을 모두 객체로 다룹니다.
      • 게임 엔진: Unity(C#)나 Unreal Engine(C++)에서는 플레이어, 적, 아이템 등을 모두 속성(체력, 공격력)과 기능(이동, 공격)을 가진 객체로 만듭니다.

3) 함수형 프로그래밍 예시

  • 대표 언어:
    • 순수 함수형 언어: Haskell, Lisp, Erlang, Clojure, Elm
    • 함수형 스타일을 지원하는 언어: Python, JavaScript, Java (8버전 이상), Scala, Kotlin
  • 특징: 데이터 처리를 map, filter, reduce 같은 함수들의 조합으로 해결하려 합니다.
  • 프로그램 예:
    • 데이터 분석 및 처리: Python의 Pandas 라이브러리나 R 언어는 대용량 데이터를 map (일괄 적용), filter (조건 필터링) 같은 함수형 스타일로 처리하는 데 매우 효과적입니다.
    • 통신 및 동시성 처리: Erlang 언어는 통신 시스템(예: WhatsApp 메신저 초기 버전)에서 수많은 동시 접속을 오류 없이 안정적으로 처리하기 위해 함수형으로 설계되었습니다.
    • 웹 프런트엔드: React.js (JavaScript 라이브러리)는 UI를 '상태(state)를 입력받아 UI(view)를 반환하는 함수'로 보는 함수형 프로그래밍 개념에 크게 영향을 받았습니다. (특히 map을 사용해 목록을 렌더링하는 부분)

◻️6. 클래스

class 키워드를 사용해 클래스를 정의한다.
관례적으로 대문자로 시작하는 것이 좋다. 클래스 내부에는 속성(멤버 변수), 메서드(멤버 함수)를 정의할 수 있다.


class 클래스이름:
    # 클래스 속성(멤버 변수) 정의
    속성1 = 초기값1
    속성2 = 초기값2

    # 생성자 메서드 (생략 가능)
    def __init__(self, 매개변수1, 매개변수2, ...):
        # 인스턴스 속성 초기화
        self.속성1 = 매개변수1
        self.속성2 = 매개변수2

    # 메서드(멤버 함수) 정의
    def 메서드1(self, 매개변수1, 매개변수2, ...):
        # 메서드 동작 정의
        pass

    def 메서드2(self, 매개변수1, 매개변수2, ...):
        # 메서드 동작 정의
        pass


◽6-1. 객체(인스턴스) 생성

class Dog:  # 메모리에 저장되어 있는 객체없는 설계도일뿐
    pass       # 내용이 없는 블록을 만들 때 사용
 
 
Dog()  # <__main__.Dog at 0x7d87a149e030>  # 클래스 주소가 출력됨.
rucy = Dog()
print(rucy)             #  <__main__.Dog object at 0x7d87a1471e50>
print(type(rucy))    #  <class '__main__.Dog'>
print(id(rucy))        #  138021479849552

ppomi = Dog()
print(ppomi)           #  <__main__.Dog object at 0x7d87a15b5a00>
print(type(ppomi))  # <class '__main__.Dog'>
print(id(ppomi))      #  138021481175552

# 지금까지 썼던 list, tuple, set, dict 등등 개발자들이 클래스를 만들어둔 것이다.

 

◽6-2. 클래스 변수

클래스에 속하는 변수로, 클래스가 생성될 때 정의되며 그 클래스로 만들어진 모든 객체들이 공유하는 변수.
클래스명으로 직접 접근하거나 인스턴스(객체) 명으로 접근할 수 있지만, 모든 인스턴스가 같은 메모리 공간을 참조하기
때문에 한 인스턴스 값을 변경하면 다른 인스턴스도 값이 변경됨.
=> 그래서 주로 전체 객체에 공통적인 속성을 저장할 때 사용한다.

class Dog:
    name = '무명'
    age = 0
    family = '알수없음'
# 클래스 변수(속성)
# Dog.name, Dog.age, Dog.family는 클래스 변수에 접근
 
rucy = Dog()
# 인스턴스에 같은 이름의 인스턴스 변수가 없으면 → 클래스 변수에서 값을 찾음
# 인스턴스 변수에 같은 이름이 생기면 → 인스턴스 변수가 우선적으로 사용됨
# 출력값은 클래스 변수의 값이 보이는 것
print(rucy.name)
print(rucy.age)
print(rucy.family)

 

◽6-3. 생성자

인스턴스가 생성될 때 자동으로 호출되는 메서드.객체의 초기화를 담당하며, 파이썬에선 __init__라고 생성자 이름이 정해져 있다.속성은 self를 사용하여 접근하고 설정한다. => 초기화된 속성은 객체가 생성될 때마다 다른 값을 가질 수 있다.
 
인스턴스 변수란?
인스턴스 변수는 각 인스턴스(객체)마다 별도로 생성되는 변수로, 객체를 만들 때마다 self 키워드를 통해 생성자(init 메서드)에서 정의되며, 각 객체가 고유한 값을 따로 저장합니다. 인스턴스 변수는 인스턴스명으로만 접근 가능하며, 다른 인스턴스에 영향을 주지 않고 자신만의 데이터를 가질 수 있어 객체마다 다른 속성값을 저장할 때 사용됩니다.
 

class 클래스이름:
    def __init__(self, 매개변수1, 매개변수2):
        self.속성1 = 매개변수1
        self.속성2 = 매개변수2
class Dog:
    def __init__(self):
        print(self, 'init 호출!')
 
rucy = Dog()

 

☑️추가 메모

self: 인스턴스 자기 자신
rucy = Dog(): Dog 설계도로 rucy라는 새로운 인스턴스를 만드는 과정
 

class Dog:
    family = '폼메'

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def print_info(self):  # 어떤객체가 self를 불렀는지 알아야 되기 때문, self 단어가 아니여도 되긴함.
        print(f'종: {Dog.family}')
        print(f'이름: {self.name}')  # 불려진 name이 누군지에 따라서 달라야 되니깐 self 사용
        print(f'나이: {self.age}')
 
rucy = Dog('루시', 15)
ppomi = Dog('뽀미', 7)
rucy.print_info()
ppomi.print_info()
 
출력:
종: 폼메
이름: 루시
나이: 15
종: 폼메
이름: 뽀미
나이: 7

 
 
 

◽6-4. 메서드 타입

1. 인스턴스 메서드(Instance Method)
객체의 상태를 조작하거나 객체에 특정 작업을 수행하는 메서드입니다. 대부분의 클래스 메서드는 인스턴스 메서드입니다. init 메서드도 인스턴스 메서드입니다.

2. 클래스 메서드(Class Method)
클래스 레벨에서 동작하며, 모든 인스턴스가 공유하는 메서드입니다. 클래스 메서드는 @classmethod 데코레이터를 사용하여 정의하며, 첫 번째 매개변수로 cls를 사용합니다.

3. 정적 메서드(Static Method)
특정 클래스나 인스턴스와 관련이 없는 메서드로, 클래스 내부에 정의되어 있지만 클래스나 인스턴스와 독립적으로 호출될 수 있습니다. 정적 메서드는 @staticmethod 데코레이터를 사용하여 정의합니다.
 

class Calculator:
    zero = 0  # 클래스 변수

    def add(self, x, y):   # self를 지정하지 않으면 일반 매개변수로 작동한다.
        return x + y          # + Calculator.zero  # 공용하는 값 사용가능

    @classmethod
    def subtract(cls, x, y):
        return x - y + cls.zero  # 클래스 메서드이기 때문에 cls 주소를 찾아가 zero 변수를 호출한다.

    @staticmethod    # 알아서 노는, 독립적인 메서드
    def multiply(x, y):
        return x * y       # + Calculator.zero 클래스 변수를 직접 가져오는 건 된다.
 
calc = Calculator()   # 인스턴스 생성

# 인스턴스 메서드 호출
result1 = calc.add(5, 3)
print(result1)
 
# 클래스 메서드 호출
result2 = Calculator.subtract(10, 4)
print(result2)
 
# 정적 메서드 호출
result3 = Calculator.multiply(6, 2)
print(result3)  # 출력: 12
 
Calculator.add(10, 5, 4)  # 현재는 self가 일반 매개변수로 작동함

마무리
 

저는 class 부분이 많이 어려웠기 때문에 오늘 시간을 많이 투자한 거 같습니다...
문제를 많이 풀어보면서 이해를 해봐야 될 거 같아요!!

'개념 정리 step1 > Python 기초' 카테고리의 다른 글

Python(7) | 파일 입출력, 타입 어노테이션, 클로저, 데코레이터, 모듈  (0) 2025.10.29
Python(6) | 상속, 스페셜 메서드, 예외처리  (0) 2025.10.27
Python(4) | 제어문(조건문, 반복문), 문제 풀이  (0) 2025.10.24
Python(3) | 컬렉션 타입 (list, tuple, dict, set), input(), 연산자  (0) 2025.10.22
Python(2) | 변수, 문자열 다루기  (0) 2025.10.21
'개념 정리 step1/Python 기초' 카테고리의 다른 글
  • Python(7) | 파일 입출력, 타입 어노테이션, 클로저, 데코레이터, 모듈
  • Python(6) | 상속, 스페셜 메서드, 예외처리
  • Python(4) | 제어문(조건문, 반복문), 문제 풀이
  • Python(3) | 컬렉션 타입 (list, tuple, dict, set), input(), 연산자
고니3000원
고니3000원
프로젝트의 구현 과정과 기술적 노하우를 담았습니다. AI 모델 연구와 매일의 학습 기록을 차곡차곡 공유하고 있습니다. [ 매너 & 태도 ] * 항상 겸손해라.
늘 자신을 낮추고 겸손함을 잃지 마라.
 * 나이 불문 예의를 지켜라.
나이와 지위를 막론하고, 누구에게나 변함없는 예의를 갖추어라.
 * 행복하겠다는 생각을 버려야 행복하다.
행복에 대한 강박과 집착을 내려놓을 때, 비로소 진정한 행복이 찾아온다.
 [ 리더십 & 실행 ] * 통찰력, 결단력,
  • 고니3000원
    곤이의 공부 블로그
    고니3000원
  • 전체
    오늘
    어제
    • 분류 전체보기 (212) N
      • 1. AI 논문 + 모델 분석 (21)
        • AI 논문 분석 (13)
        • AI 모델 분석 (8)
      • 2. 자료구조와 알고리즘 (16)
        • 2-1 자료구조와 알고리즘 (13)
        • 2-2 강화학습 알고리즘 (3)
      • 3. 자습 & 메모(실전, 실습, 프로젝트) (27)
        • 3-1 문제 해석 (4)
        • 3-2 메모(실전, 프로젝트) (14)
        • 3-3 배포 실전 공부 (7)
        • 3-4 최신 기술 분석 (2)
      • 4. [팀] 프로젝트 및 공모전 (31)
        • 4-1 팀 프로젝트(메모, 공부) (1)
        • 4-2 Meat-A-Eye (6)
        • 4-3 RL-Tycoon-Agent (3)
        • 4-4 구조물 안정성 물리 추론 AI 경진대회(D.. (4)
        • 4-5 AgentShield(보안 플랫폼) (17)
      • 5. [개인] 프로젝트 및 공모전 (21) N
        • 4-1 귀멸의칼날디펜스(자바스크립트 활용) (5)
        • 4-2 바탕화면 AI 펫 프로그램 (4)
        • 4-3 개인 프로젝트(기타) (3)
        • 4-4 공모전 (5) N
        • 4-5 나만의 로컬 LLM 멀티 에이전트 구축 (4)
      • 개념 정리 step1 (32)
        • Python 기초 (7)
        • DBMS (1)
        • HTML | CSS (3)
        • Git | GitHub (1)
        • JavaScript (5)
        • Node.js (5)
        • React (1)
        • 데이터 분석 (6)
        • Python Engineering (3)
      • 개념 정리 step2 (60)
        • Machine | Deep Learning (15)
        • 멀티모달(Multi-modal) (23)
        • 강화 학습 (10)
        • AI Agent (9)
        • 메디컬 이미지 (3)
      • 개인 공부 - 내가 공부하고 싶은 모든 것 (2)
        • 1. 인프라 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Notion-포트폴리오
    • Github
  • 공지사항

    • ‘박영곤’ 나의 핵심 가치
  • 인기 글

  • 태그

    Python
    구현
    전처리
    Agent
    알고리즘
    pandas
    학습
    파인튜닝
    transformer
    llm
    프로젝트
    논문 리뷰
    데이터분석
    Vision
    paddleocr
    강화학습
    API
    파이썬
    Ollama
    인공지능
    OCR
    자바스크립트
    Ai
    Lora
    ViT
    자료구조
    보안
    공모전
    RAG
    github
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고니3000원
Python(5) | def, callback, lambda, class
상단으로

티스토리툴바