[함수]
: 함수는 입력을 받아 원하는 처리를 한 후 출력을 내보내는 일련의 작업을 수행하는 코드 블록/ 프로그램 내에서 특정한 기능을 수행하기 위해 코드를 논리적으로 그룹화하여 재사용 가능한 형태로 정의
def 함수이름(매개변수1, 매개변수2, ...):
# 함수 내부에서 수행할 작업
return 결과값 # (선택적) 함수의 결과를 반환
- def 를 이용하여 함수를 정의
- 함수 이름 뒤 소괄호 안에 매개변수(입력 값)를 정의
- 함수 내부에서 필요한 작업을 수행한 후, return을 사용하여 결과값을 반환
- 함수를 호출할 때는 함수 이름을 적고, 소괄호 안에 인수(함수에 전달할 값)을 넣어 호출
예시)
# 함수 정의
def greet(name):
message = "Hello, " + name + "!"
return message
# 함수 호출
greeting = greet("Alice")
print(greeting) # 출력: Hello, Alice!
-> 즉, def를 이용하여 함수를 만들고, 원하는 입력 값을 만들어진 함수에 넣어 결과값을 출력할 수 있다!
[함수] - 전역변수/지역변수
전역변수(Global Variables)
: 전역변수는 프로그램 전체에서 접근 가능한 변수로, 어디서든지 사용 가능
- 프로그램이 시작될 때 생성, 프로그램 종료될 때까지 메모리에 유지
- 프로그램의 어디서든지 접근 가능, 여러 함수에서 공통적으로 사용되는 값을 저장할 때 유용
- 너무 많은 전역변수를 사용하면 코드의 가독성이 떨어지고 디버깅이 어려움
지역변수(Local Variables)
: 지역변수는 특정한 범위(예시: 함수 내부)에서만 접근 가능한 변수로, 해당 범위를 벗어나면 사용할 수 없음
- 해당범위에서 생성, 범위를 벗어나면 메모리에서 사라짐
- 함수 내에서 정의된 변수는 해당 함수 내에서만 사용 가능한 지역 변수
- 함수 내에서만 사용되므로, 해당 함수에서만 유효
- 함수가 실행될 때 생성, 함수가 종료되면 메모리에서 제거 -> 메모리 관리에 효율적
예시)
# 전역변수 예시
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 greet(name): # 여기서 'name'은 매개변수
print("Hello, " + name + "!")
# 함수 호출할 때 전달되는 값이 인수(argument)
greet("Alice") # 함수 호출 시 "Alice"는 greet 함수의 매개변수 'name'에 전달됩니다.
위치 인수(Positional argument)
: 함수 정의에서 매개변수의 위치에 따라 전달되는 인수
키워드 인수(keyword argument)
: 함수 호출 시, 인수를 순서대로 전달하는 대신에 특정 매개변수에 값을 할당하여 전달
def greet(name, age):
print("안녕하세요", name, "님! 나이는 ", age, "세입니다.")
# 위치 전달인자 사용
greet("철수", 30) # 출력: 안녕하세요, 철수님! 나이는 30세입니다.
def greet(name, age):
print("이름:", name)
print("나이:", age)
# 키워드 인수를 사용하여 함수 호출
greet(name="Alice", age=30)
[데이터 함수]
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)
[Quiz]
1. 주어진 데이터셋의 평균을 계산하는 함수를 작성하고 함수의 결과를 출력해 보세요!
# 데이터는 이것을 사용하세요
data = [2, 4, 6, 8, 10]
답:
'QCQA_1기' 카테고리의 다른 글
TIL_2W4D_데이터 분석 파이썬 종합반 5주차(알면 유용한 파이썬 문법들!) (0) | 2024.12.27 |
---|---|
TIL_Python 개인과제 (Level 1,2,3) (0) | 2024.12.26 |
TIL_2W3D_데이터 분석 파이썬 종합반 3주차(조건문,반복문) (0) | 2024.12.26 |
TIL_2W2D_데이터 분석 파이썬 종합반 2주차(튜플,딕셔너리) (0) | 2024.12.24 |
TIL_2W1D_데이터 분석 파이썬 종합 2주차 (리스트) (0) | 2024.12.23 |