
데이터 분석을 위한 Python
✔️ 위치인수
✔️ 가변위치인수
✔️ 키워드 인수
✔️ 가변 키워드 인수
✔️ 위치인수
위치인수
인수 : 함수에 집어넣는 자료(매개변수에 넣는 자료)
위치인수(positional argument) : 위치가 고정된 인수
넣는 순서와 개수를 일치시켜야 함
리스트 / 튜플 언패킹으로 여러 개의 자료를 풀어서 넣기
# 입력 받은 매개변수 3개 출력하는 함수 def print_nums(a, b, c): print(a, b, c)
위치인수_오류 발생하는 경우
# 입력받는 변수보다 적거나 많으면 오류 발생 print_nums(1, 5) # 변수 혹은 자료를 3개를 넣어줘야 오류 발생 X # 리스트 1개는 하나로 인식되어 오류 발생 l1 = [1,2,3] print_nums(l1)
위치인수_리스트 언패킹 활용
# 결과 확인 # *list명 : 리스트 언패킹되어 리스트 안의 자료들이 삽입됨 l1 = [1,2,3] print_nums(*l1)

✔️ 가변위치인수
가변위치인수
가변위치인수(args, Variable-length Arguments)
여러 개의 자료를 넣을 수 있는 인수
가변위치인수(args)
자료의 개수의 제한 없이 넣을 수 있는 인수
가변위치인수를 사용하는 경우 대부분 매개변수에 *args를 입력
# 튜플 언패킹하여 튜플의 자료 각각 출력하는 함수 def print_nums(*nums): print(nums) ## 튜플로 할당 for i in nums: print(i, end=' ') # 결과 확인 print_nums(1,2,3,4,5,6,7,8,9,10)

가변위치인수_여러 개의 숫자를 입력받으면 합계를 구해주는 함수 생성
my_sum 함수 생성
여러 개의 숫자를 입력받으면 합계를 구해주는 함수
# 여러 개의 숫자를 입력받으면 합계 구하는 함수 def my_sum(*args): hap = 0 for i in args: # print(i) hap += i return hap # 결과 확인 result = my_sum(1,2,3,4,5,6,7,8,9,10) print(result)

가변위치인수_정수와 리스트를 입력, 리스트의 요소에 정수를 곱하는 함수 생성
위치인수와 가변인수 동시에 받는 경우
위치인수와 가변인수를 동시에 받는 경우 반드시 위치인수가 먼저 와야 한다
(가변인수가 먼저 오는 경우 오류 발생)
# 정수와 리스트를 입력받아 리스트의 요소에 입력받은 정수를 곱하는 함수 def muls(a, *args): print(a, args) result = [] for num in args: # print(num) result.append(a*num) return result # 결과 확인 l2 = [1,2,3,4,5] # muls(2, *l2) muls(2, *l2)

✔️ 키워드 인수
키워드 인수
키워드 인수(keyword arguments)
매개변수에 이름을 명시하여 인수를 넣어주는 것
매개변수 이름을 직접 입력하고 자료 할당 가능
키워드 인수는 기본값 설정 가능
키워드 인수_개인정보 출력하는 함수 생성
# 개인정보 출력하는 함수 # 기본값이 설정되어 있음 def personal_info(name='이름 입력되지 않음', age='나이 입력되지 않음', address='주소 입력되지 않음'): print('이름: ', name) print('나이: ', age) print('주소: ', address) # 결과 확인 # 기본값이 설정되어 있는 경우 변수를 다 입력하지 않아도 실행(기본값 출력) personal_info(name = '홍길동', age = 30) print() personal_info()

키워드 인수_딕셔너리 언패킹 활용(이름, 나이, 주소 출력 함수 생성)
딕셔너리 언패킹
딕셔너리 앞에 **을 붙여서 딕셔너리 언패킹 가능
**{'address':'서울시 강남구','name':'홍길동','age':30}
# 개인정보 출력 함수 활용 # 딕셔너리 언패킹하여 함수 활용 personal_info(**{'address':'서울시 강남구','name':'홍길동','age':30})

✔️ 가변 키워드 인수
가변 키워드 인수
가변 키워드 인수(kwargs, Variable-lenght keyword arguments)
키워드 인수를 숫자 제한 없이 넣는 경우
def 함수명(**kwargs)
# 딕셔너리 언패킹하여 출력하는 함수 def personal_info2(**kwargs): print(kwargs) key = list(kwargs.keys()) value = list(kwargs.values()) print(key) print(value) # 결과 확인 personal_info2(address='서울시', name='홍길동')

가변 키워드 인수_위치인수와 가변 키워드 인수 동시 사용
# 딕셔너리 언패킹하여 출력하는 함수 # 위치인수와 동시에 언페킹된 딕셔너리를 같이 출력 def personal_info3(num, **kwargs): print(kwargs) key = list(kwargs.keys()) value = list(kwargs.values()) print(num) print(key) print(value) # 결과 확인 personal_info3(1, address='서울시', name='홍길동')

가변 키워드 인수_가변인수와 가변 키워드 인수 동시 사용
가변인수와 키워드 가변인수 동시 사용
가변인수 -> 키워드 가변인수 순으로 작성
def 함수명(*args, **kwargs)
# 입력 받은 튜플 언패킹, 딕셔너리 언패킹하여 출력하는 함수 def custom_print(*args, **kwargs): # print(args, kwargs) # *args = 1,2,3 # **kwargs = sep='||', end='!!' print(*args, **kwargs) # 결과 확인 ## print(1,2,3, sep='||', end='!!')과 결과는 동일 custom_print(1,2,3, sep='||', end='!!')

매개변수_모든 인수를 동시에 출력하는 함수 생성
매개변수 : 함수에서 자료를 받는 경우 사용하는 변수
위치인수(a) : 위치가 고정된 인수, 위치인수는 키워드 인수로 사용 가능(변수명=값)
가변인수(*args) : 여러 개의 자료를 동시에 받을 수 있는 인수, tuple로 변환되어 반환키워드
가변인수(**kwargs) : 여러 개의 자료를 동시에 받을 수 있는데 key=vlaue형태(dict)로 받는 인수
매개변수에 초기값 지정
초기값이 지정된 매개변수는 반드시 마지막에 위치
위치인수, 키워드 인수, 가변인수, 키워드 가변인수 동시에 다 사용하는 경우
위치인수 => 키워드 인수(기본값), 가변인수, 키워드 가변인수 순서로 사용
# 위치인수, 가변 위치 인수, 가변인수, 키워드 가변인수 존재하는 경우 동시에 출력하는 함수 def personal_info6(idx, address='비공개', *args, **kwargs): print(f"idx: {idx}" ) print(f"address: {address}" ) print(f"*args: {args}" ) print(f"**kwargs: {kwargs}" ) # 결과 확인 personal_info6(1, 30, 40, 50,이름='홍길동', 성별='남자')

+
함수_함수 설명 추가(dogstring)
함수 dec스트링 : 함수의 기능을 설명하거나 사용법을 함수 내에 적어 놓는 것
def 함수이름(매개변수):
_____"""독스트링으로 설명"""
docstring : 함수 실행시에는 출력되지 않음
print(함수이름.doc)
help(함수이름)
# 덧셈 함수 # """" """ : 따옴표 3개 안에 작성한 내용이 독스트링으로 설명으로 표시됨 def add(a,b): """ 이 함수는 a와 b를 더한 뒤 결과를 반환하는 함수입니다. """ result = a+b return result # 결과 확인 및 독스트링 확인 print(add(2,3)) print() help(add)

이번 내용에서는 파이썬의 위치인수, 가변위치인수, 키워드 인수, 가변 키워드 인수 활용에 대해 알아보았습니다.
데이터 분석을 하기 위해서는 가장 꾸준히 공부해야 하는 언어는 파이썬(Python)이라고 생각합니다.
앞으로 꾸준히 파이썬(Python) 내용을 공부하고 정리할테니 파이썬 코딩에 도움이 되었으면 좋겠습니다.
데이터를 가져오고 저장되는 DB에 대한 이해와 SQL 활용 능력도 중요하므로
제가 작성한 데이터 분석을 위한 SQL 글에 들어가서 DB와 MySQL에 대해 공부하면 좋을 것 같습니다.
'SQL/데이터 분석을 위한 MySQL' 카테고리의 글 목록
데이터 분석 공부 열심히 하는 중😁
everyonelove.tistory.com
또한 데이터 크롤링을 위해서 웹개발 언어에 대한 이해도 필요하기 때문에
제가 작성한 데이터 분석을 위한 HTML / CSS / Javascript 글에 들어가서 웹 개발 언어에 대해 공부하면 좋을 것 같습니다.
'HTML & CSS & Javascript/데이터 분석을 위한 웹 개발 언어' 카테고리의 글 목록
데이터 분석 공부 열심히 하는 중😁
everyonelove.tistory.com
제 블로그에 방문하면 데이터 분석과 관련된 다양한 정보들이 준비되어 있으니
관심 있는 분들은 방문해서 좋은 정보 얻어가시길 바랍니다.
ECODATALIST
데이터 분석 공부 열심히 하는 중😁
everyonelove.tistory.com
'Python > 데이터 분석을 위한 Python' 카테고리의 다른 글
[Python] 파이썬_파이썬의 클래스와 클래스 생성 위한 인스턴스 및 메서드 활용 (1) | 2025.03.31 |
---|---|
[Python] 파이썬_파이썬의 람다(lambda) 표현식과 예외 처리 (0) | 2025.03.28 |
[Python] 파이썬_파이썬 함수 생성과 함수의 매개변수 및 return 값 (0) | 2025.03.27 |
[Python] 파이썬_ 파이썬 리스트 표현식, 파일 읽기/쓰기, JSON 파일을 통한 데이터프레임 변환 (0) | 2025.03.25 |
[Python] 파이썬_파이썬 while문과 중첩반복문 활용 (0) | 2025.03.25 |