TIL(22.09.15) - Python args / kwargs, 패킹과 언패킹

이지영·2022년 9월 15일
0

TIL/WIL

목록 보기
14/110

내일배움캠프 AI

오늘 한 일

파이썬 문법 실시간 강의
알고리즘 실습

내일 할 일

자료구조와 알고리즘
알고리즘 실습

강의 정리하기

파이썬 심화
1) args / kwargs에 대한 이해

def print_arguments(a, b, *args, **kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)
print_arguments(
    1, # a
    2, # b
    3, 4, 5, 6, # args
    hello="world", keyword="argument" # kwargs
)
출력
1
2
(3, 4, 5, 6)
{'hello': 'hello', 'world': 'world'}
-> args와 kwargs의 차이점은 튜플이냐 딕셔너리형이냐!

2) 패킹과 언패킹 : 요소들을 묶어주거나 풀어주는
것을 의미
list 혹은 dictionary의 값을 함수에 입력할 때 주로 사용

  • list에서의 활용
def add(*args):
    result = 0
    for i in args:
        result += i   
    return result
numbers = [1, 2, 3, 4]
print(add(*numbers)) # 10
"""아래 코드와 동일
print(add(1, 2, 3, 4))
"""

-> a = [1, 2, 3, 4]
print(add(*a)) -> 별이 괄호를 없애주는것!
-> 언패킹 했을때 리스트 속성을 없애주는것!
-> (1, 2, 3, 4)

  • dictionary에서의 활용
def set_profile(**kwargs):
    profile = {}
    profile["name"] = kwargs.get("name", "-")
    profile["gender"] = kwargs.get("gender", "-")
    profile["birthday"] = kwargs.get("birthday", "-")
    profile["age"] = kwargs.get("age", "-")
    profile["phone"] = kwargs.get("phone", "-")
    profile["email"] = kwargs.get("email", "-")
    return profile
user_profile = {
    "name": "lee",
    "gender": "man",
    "age": 32,
    "birthday": "01/01",
    "email": "python@sparta.com",
}
print(set_profile(**user_profile))
""" 아래 코드와 동일
profile = set_profile(
    name="lee",
    gender="man",
    age=32,
    birthday="01/01",
    email="python@sparta.com",
)
"""
#출력
{
    'name': 'lee',
    'gender': 'man',
    'birthday': '01/01',
    'age': 32,
    'phone': '-',
    'email': 'python@sparta.com'
}

3) 객체지향

  • 특성
    - 캡슐화
    - 추상화
    - 상속
    - 다형성

계산기 과제

try - except처리
에러가 발생할 수 있는곳에만! try를 넣어주는게 좋다!

복잡한 코드 짤 때 유용!

  • docstring
  • typehint

알고리즘 실습

  • 백준 단계별 기본수학

느낀점

오늘로 파이썬 강의가 끝났다 수업내용을 다 안다고해서 문제를 잘 풀고 그 내용을 활용하기는 부족하다고 느끼는만큼 다음 내용을 넘어가더라고 꾸준히 조금씩이라도 공부하며 익숙해져야겠다. git에 코드 올리는 것도 꾸준히 커밋하기!!

profile
🐶🦶📏

0개의 댓글