파이썬 내장 함수로, 특정 값이 지정한 타입(또는 타입들의 집합)에 속하는지를 확인해주는 함수예요.
예시:
isinstance(10, int) # 10은 int 타입이므로 True
isinstance(3.14, float) # 3.14는 float 타입이므로 True
isinstance("hello", int) # "hello"는 int 타입이 아니므로 False
if not isinstance(value, (int, float)): 구문은,
value가 int나 float 타입이 아니라면(즉, 숫자가 아니라면)
if 문 안의 코드를 실행하라는 의미예요.
즉, if not isinstance는 "만약 value가 int나 float 타입이 아니라면" 이라는 조건을 확인하는 코드입니다.
{
빈도수1: [값1, 값2, ...],
빈도수2: [값3, 값4, ...],
...
}
ex) monte_carlo_simulation
x= np.random.random([N,2])
==
X= np.random.uniform(0,1,[N,2])
np.random.random(size)는 고정된 범위 [0, 1) 내의 난수를 생성합니다.
np.random.uniform(low, high, size)는 사용자가 지정한 범위 [low, high) 내에서 난수를 생성할 수 있습니다.
np.random.uniform(low, high, size)
low: 생성할 난수의 최소값 (포함됨)
high: 생성할 난수의 최대값 (포함되지 않음)
size: 생성할 배열의 형태(shape)
np.random.random(size) 함수는 0.0 이상 1.0 미만의 균등 분포(uniform distribution)를 따르는 난수를 생성
import numpy as np
# 3개의 무작위 실수를 생성 (0과 1사이)
a = np.random.random(3)
print(a) # 예: [0.5488135 0.71518937 0.60276338]
# 2차원 배열 (3행 4열) 생성
b = np.random.random((3, 4))
print(b)
x ** 2.0 => x의 거듭제곱
x ** 3.0 => x의 세제곱
ex) 3 ** 3 => 27
axis=1일 경우, 각 행(row)의 모든 요소를 더해서 행 단위의 합을 구합니다.
예를 들어, 아래와 같은 2차원 배열이 있다고 할 때:
lua
Copy
[[1, 2, 3],
[4, 5, 6]]
axis=1로 합을 구하면:
1행 (첫 번째 행)의 합: 1 + 2 + 3 = 6
2행 (두 번째 행)의 합: 4 + 5 + 6 = 15
결과는 [6, 15]가 됩니다.
axis=0일 경우, 각 열(column)의 모든 요소를 더해서 열 단위의 합을 구합니다.
같은 배열에서 axis=0로 합을 구하면:
첫 번째 열의 합: 1 + 4 = 5
두 번째 열의 합: 2 + 5 = 7
세 번째 열의 합: 3 + 6 = 9
결과는 [5, 7, 9]가 됩니다.
import re
def hyphens(text:str) -> str :
lines = text.strip().split("\n")
updated =[]
for line in lines :
stripped = line.strip()
# 1. "숫자."로 시작 -> 그대로 문장 출력
if re.match(r'^\d+\.', stripped):
updated.append(stripped)
# 2. 빈 줄이면 추가하지 않음
elif stripped == "" :
updated.append("")
# 3. 그 외 (문자열, 기호) 시작 -> (-) 하이픈 붙이고 출력
else :
updated.append(f"- {stripped}")
return "\n".join(updated)
copied_text = """
AI 기초 이해 학습노트
1. 인공지능, 머신러닝, 딥러닝, 생성형 AI
[인공지능 (AI)]
인간처럼 학습, 추론, 문제 해결을 할 수 있는 기술
약한 AI vs 강한 AI
[머신러닝 (ML)]
데이터를 기반으로 학습해 예측/분류를 수행
지도학습, 비지도학습, 강화학습으로 분류됨
[딥러닝 (DL)]
인공신경망을 기반으로 한 머신러닝 기술
CNN, RNN, LSTM 등 구조가 있음
[생성형 AI (Generative AI)]
학습한 데이터에서 새로운 콘텐츠를 생성
예: GPT, DALL·E, Stable Diffusion 등
비유로 이해하기
AI는 뇌를 가진 로봇 전체
ML은 배우는 능력
DL은 복잡한 뇌 구조
Generative AI는 창작 능력
"""
print(hyphens(copied_text))
re모듈을 불러오는 코드if re.match(r'^\d+\.', stripped):

<자주하는 실수>
"4. 요약 정리".isdigit() # ❌ False
"4.".isdigit() # ❌ False
"Ⅳ".isdigit() # ✅ True (주의! 로마 숫자도 인식함)

_ : 변수를 사용하지 않겠다는 관용적인 표시final_values = [simulate_investment(scale, days) for _ in range(simulations)]
return np.array(final_values)
[simulate_investment(scale, days) for _ in range(simulations)]는 simulate_investment(scale, days) 함수를 simulations 횟수만큼 실행하여 그 결과들을 리스트로 모으는 역할을 합니다.
range(simulations)는 숫자 0부터 simulations - 1까지 반복합니다.
반복 과정에서 각 인덱스 값은 사용되지 않으므로 변수 이름으로 _를 사용합니다.
각 반복마다 simulate_investment(scale, days)의 실행 결과가 리스트에 추가됩니다.