# 전역변수 예시
global_var = 10
def global_example():
print("전역변수 접근:", global_var)
global_example() # 출력: 전역변수 접근: 10
# 지역변수 예시
def local_example():
local_var = 20
print("지역변수 접근:", local_var)
local_example() # 출력: 지역변수 접근: 20
# 함수 내에서 전역변수를 수정하는 예시
def modify_global():
global global_var
global_var = 30
print("함수 내에서 수정된 전역변수:", global_var)
modify_global() # 출력: 함수 내에서 수정된 전역변수: 30
print("수정된 전역변수 확인:", global_var) # 출력: 수정된 전역변수 확인: 30
# 매개변수(parameter) 예시
def greet(name): # 여기서 'name'은 매개변수(parameter)입니다.
print("Hello, " + name + "!")
# 함수 호출할 때 전달되는 값이 인수(argument)입니다.
greet("Alice") # 함수 호출 시 "Alice"는 인수(argument)로 greet 함수의 매개변수 'name'에 전달됩니다.
def add_numbers(x, y): # 'x'와 'y'는 매개변수입니다.
result = x + y
return result
# 함수 호출 시 10과 20이 각각 'x'와 'y' 매개변수에 전달됩니다.
sum_result = add_numbers(10, 20) # 10과 20이 전달인자(Argument)입니다.
print("Sum:", sum_result) # 출력: Sum: 30
# 위치 인수 Positional argument
# 키워드 인수 Keyword argument
## 키워드로 인수 넣으면 순서 상관 없다
# 기본 값 설정하기 (Default values)
# 함수의 parameter에 미리 기본 값을 설정
def greet(name="Guest", age=25):
print("이름:", name)
print("나이:", age)
# 기본값이 설정된 함수 호출
greet()
# 키워드 인수를 사용하여 함수 호출
greet(name="Alice", age=30)
# 일부 매개변수에만 키워드 인수 사용하여 호출
greet(name="Bob")
# 가변인수 *args
def sum_values(*args):
total = 0
for num in args:
total += num
return total
result = sum_values(1, 2, 3, 4, 5)
print("합계:", result) # 출력: 합계: 15
# 키워드 가변인수 **kwargs
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Alice", age=30, country="USA")
## 전처리 함수
def stadardization(data):
# 데이터 표준화 함수
scaled_data = (data - data.mean()) / data.std()
return scaled_data
def impute_missing_values(data):
# 결측치 처리 함수
filled_data = data.fillna(data.mean())
return filled_data
def nomalization(data):
# 데이터 정규화 함수
scaled_data = (data - data.min()) / (data.max() - data.min())
return scaled_data
## 시각화 함수
import matplotlib.pyplot as plt
def plot_histogram(data):
# 히스토그램을 그리는 함수
plt.hist(data, bins=20)
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram of Data')
plt.show()
def plot_scatter(x, y):
# 산점도를 그리는 함수
plt.scatter(x, y)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Plot')
plt.show()
## 통계 계산 함수
import numpy as np
def calculate_mean(data):
# 평균을 계산하는 함수
return np.mean(data)
def calculate_std(data):
# 표준편차를 계산하는 함수
return np.std(data)
def calculate_correlation(x, y):
# 상관 관계를 계산하는 함수
return np.corrcoef(x, y)