이런 분들이 찾고 있어요
이 레슨과 관련된 학습 키워드
AI 교육 플랫폼
AI 교육 플랫폼 추천AI 강의 사이트머신러닝 온라인 강의딥러닝 강의 추천
AI 독학/로드맵
AI 독학 방법머신러닝 공부 순서딥러닝 로드맵머신러닝 독학 로드맵
AI 취업/커리어
AI 취업 준비데이터 사이언티스트 강의ML 엔지니어 준비AI 면접 준비
AI를 아는 것에서, 풀 수 있는 것으로
이 레슨과 관련된 학습 키워드
int (*op)(int, int);qsort(), bsearch() 등 표준 라이브러리가 비교 함수를 인자로 받음 (Kernighan & Ritchie, 1988)apply 함수)1# === C 함수 포인터 개념을 Python으로 체험 ===💡2# (C의 함수 포인터 ↔ Python의 일급 함수 대응)3import random💡4random.seed(42)💡5 6# --- 1) 기본: 함수를 변수에 저장 ---7def add(a, b):💡8 return a + b💡9 10def mul(a, b):💡11 return a * b💡12 13op = add💡14print(f"op(3,4) = {op(3,4)}")💡15op = mul💡16print(f"op(3,4) = {op(3,4)}")💡17 18# --- 2) 콜백 패턴: 함수를 인자로 전달 ---19def apply(func, x, y):💡20 return func(x, y)💡21 22print(f"apply(add,5,6) = {apply(add,5,6)}")💡23print(f"apply(mul,5,6) = {apply(mul,5,6)}")💡24 25# --- 3) 디스패치 테이블: 함수 포인터 배열 ---26def sub(a, b):💡27 return a - b💡28 29dispatch = [add, sub, mul]💡30labels = ["+", "-", "*"]💡31a, b = 10, 3💡32for i, fn in enumerate(dispatch):💡33 print(f" {a} {labels[i]} {b} = {fn(a,b)}")💡34 35# --- 4) typedef 대응: 타입 별칭으로 가독성 향상 ---36from typing import Callable💡37BinOp = Callable[[int,int], int]💡38def execute(op: BinOp, x: int, y: int) -> int:💡39 return op(x, y)💡40print(f"execute(sub,20,7) = {execute(sub,20,7)}")💡