[콘텐츠]

1. 유튜브를 통한 마케팅 (릴스 등으로 활용)

- 감성을 살린 ASMR

- shorts 형식으로 또는 짧은 시간 동안 보여주는 것이 중요

- 코믹한 느낌 vs 감성

- 구독자 애칭을 정해서 유튜브 내에서 소통

- 많은 시간과 노력이 필요할 것 그 노력에 비한 성과?

예시1_하루한끼

https://www.youtube.com/c/%ED%95%98%EB%A3%A8%ED%95%9C%EB%81%BConemealaday

 

예시3_요리용디

https://www.youtube.com/results?search_query=%EC%9A%94%EB%A6%AC%EC%9A%A9%EB%94%94

(쇼츠)

 
 

예시4_조은삼

https://www.youtube.com/channel/UCm3lGwm_cAYUStXZhEEoE3w

(쇼츠)

 
 
 

2. 인스타그램 카드뉴스

- 카드뉴스 형식으로 자막 + 사진

- 사진이 매우 중요한 컨텐츠

- 딱 들어가야 할 사진 + 짧은 설명 필요하기 때문에 오히려 시간이 많이 단축됨

- 보정만 잘 하면 될 것 같음

- 해시태그 이용

- 썸네일에 굳이 밀키트인거 밝히지 말고 무조건 맛있어 보이게

- 음식 뿐만 아니라 자취생으로 살아남기처럼 식품 이슈 등을 큐레이션 기능과 함께 보여줘도 될 듯

 

예시1_자취생으로 살아남기 (모두 광고)

https://www.instagram.com/one_home_life/

 

3. 블로그 운영

- 블로그를 찾아오도록 단순 맛 평가보단 정보성 글 제공

- 블로그는 사진 + 설명이 주가 되는 매체임 아니면 움짤

- 따라서 블로그에 업로드하기 위해 굳이 동영상은 x

 

4. 공통 사항

- 올키트에서 기획하는걸 강조하지 말기

- 콘텐츠를 제대로 기획해서 소비자층을 얻고 + 구매 링크를 추가하는 식

대신 올키트 앱에는 큐레이션 등에 모두 업로드 되어 있음

 

5. 콘텐츠 돌려막기

- 인스타 릴스와 유튜브영상(쇼츠 포함), 굳이 틱톡은

- 블로그 사진 업로드할 때, 애초에 잘 찍어서 카드뉴스에는 누끼만 따서 편집 + 완성샷 많이 찍어서 보정

- 블로그 : 세세하게 만드는 방법 + 정보 인스타 : 맛있어보이는 사진 + 매우 짧은 설명 + 간단함 강조

 

 
 

 

'올키트 > 회의 자료' 카테고리의 다른 글

[22.05.12] 회의 기록  (0) 2022.05.12
[22.04.06] 회의 준비 자료  (0) 2022.05.10
[22.04.07] 회의 준비 자료  (0) 2022.05.10
[22.05.04] 회의 준비 자료  (0) 2022.05.10

1. 인스타그램 카드뉴스

* 자취생으로 살아남기

- 사진이 주 요소, 글은 많이 없음

- 정보나 간단한 맛 평가 = 키워드

- 글은 오로지 레시피

 

<고려할 점>

- 디자인 (메인 틀) : 마케팅 팀이랑 상의? 아니면 일단 혼자 만들어보고?

- 소스 찾기 : 테마(혼술, 요즘 유행 등) 유형(키워드, 레시피)

- 들어갈 HMR 제품 찾기

 

2. 앱의 큐레이션 우선

- 예시 확인

 

 

3. 제대로 된 계획

- 일단 그 때 회의때 정했던 것처럼 5.6일까지 카드 뉴스 만들기

- 그리고 그걸 가지고 마케팅 팀이랑 회의

- 소스와 테마 등은 누구와?

 

 

4. 식품산업정보론 개인 학습

 

 

'올키트 > 회의 자료' 카테고리의 다른 글

[22.05.12] 회의 기록  (0) 2022.05.12
[22.04.06] 회의 준비 자료  (0) 2022.05.10
[22.04.07] 회의 준비 자료  (0) 2022.05.10
[22.04.11] 회의 준비 자료  (0) 2022.05.10

[주제 : 쿠캣 마케팅 사례]

 

1. 모디슈머

- 레시피를 수정하고, 다양성을 중시하는 소비자 MZ 세대

- 소비자들이 수정하거나 개발하면서 아이디어를 수정하는 것 시장의 경쟁력

 

2. 모디슈머의 적용 사례

- 까르보 불닭, 신볶게티 등

 

3. 쿠캣마켓의 마케팅

- MZ세대의 모디슈머를 노린 푸드학개론 유튜브 채널

- 오늘 뭐먹지 = 쿠캣에서 시작

 

4. 2022 식품외식산업 전망대회 이문주 대표 발표

 

5. 마케팅 용어 공략하기

1) 광고주

- 광고를 요청하는 주체 (광고가 집행될 매체를 대행사에 요청) - 에이전시 : 광고를 대행해주는 곳

- , 광고주는 소비자

 

2) 마케터

- 회사에서 마케팅을 담당하는 사람

- 회사 및 상품을 홍보, 영업 관리, 브랜딩 등

- 마케터 별로 다름

- 영업관리를 주로 하는 마케터도, 브랜딩을 하는 마케터도

- 어쨌든 회사에서 매우 중요한 직책

 

3) AE

- 광고를 총 책임지는 대행사 기획자 총책임자

ex) 광고주와 대행사의 중간다리 역할, 대행사 소속

 

4) AD

- 대행사의 visual 등 디자인 총괄자

 

5) CD

- AE가 방향성과 비용을 결정하면 CD가 최종 제작물을 제작하고, 제시하는 총괄자

 

6) 대행사

- 광고주를 대신해서 광고를 해주는 업체 (매체를 구매 후 집행하는 역할)

 

7) 매체

- 광고가 소비자에게 노출되는 모든 공간

 

8) 온드 미디어

- 기업이 직접 소유하고 있는 미디어 (기업의 홈페이지, 블로그, SNS 계정 등)

- 무료로 계정을 만들 수 있는 것

 

9) 페이드 미디어

- 돈이 나가는 미디어(비용을 지불하고 광고를 구매하는 방식) - TV, 옥외광고, 배너광고 등

- 옥외광고 : 버스 광고, 건물 스크린

- 배너 광고 : 네이버 배너 등

 

10) ATL

- 4대 매체(신문, TV, 라디오, 잡지)

- 전통적인 광고 활동 (과거에 강력한 광고효과를 일으킴. 유일하기 때문)

 

11) BTL

- 이벤트, 전시, 스폰서십, PPL 등 미디어 대상이 아닌 ATL 방식과 반대로 쌍방향 커뮤니케이션 가능

- 매체에 대한 반응을 즉각적으로 할 수 있음

 

1. 해외 시장 선정

- 선정 이유 : 일단 미국이 큰 시장이므로 대충 미국 국가를 기준으로 작성

 

1-2. 현재 미국에서 가장 인기있는 온라인 쇼핑몰 (음식을 포함한 모든 시장)

1. 아마존 (Amazon.com)

2. 월마트 (Walmart.com)

3. 애플 (Apple.com)

4. 홈디포 (Homedepot.com)

5. 베스트바이 (Bestbuy.com)

6. 메이시스 (Macys.com)

7. 타겟 (Target.com)

8. 콜스 (Kohls.com)

9. 코스트코 (Costco.com)

10. QVC (Qvc.com)

 

(굵음 표시 식재료 배달)

https://www.walmart.com/registry/registryforgood

https://www.mk.co.kr/news/economy/view/2017/08/566637/

 

1-3. 아마존과 윌마트 식재료 배달 서비스

(우리 앱은 HMR을 주로 다루지만, 그래도 식료품 배달 서비스 + 전자 상 거래 + 소비자의 반응 + 서비스에 대해서 알아보려고 작성했습니다)

- 전 세계적으로 covid-19로 인해, 전자 상거래 식료품 배달이 큰 인기가 있어짐

- 아마존과 월마트의 식료품 배달 서비스에 대해서 비교

 

1) 월마트의 배송 서비스

- 당일 배송

- 오래 보관 가능한 식품 2일 소요

- 급한 생필품은 2시간 내로 배달하기도 함

- 장 본 것을 픽업하는 기능

- 2020 회계 연도 1 분기 전자 상거래 매출은 37 % 성장했으며 Walmart는 전체 회계 연도에 35 % 성장을 기대

- 윌마트에서 판매하는 스마트 도어락 설치하면 배달원이 1회 비밀번호를 눌러 냉장고에 넣어주기까지 함

 

2) 아마존의 배송 서비스

- 당일 또는 다음날 배달

- 아마존을 통해 예약시간에 배달도 가능

- 월에 일정 금액을 지출해 프리미엄 고객이 되면 다른 소비자들 보다 더 빠르게 배달을 받아볼 수 있음(!)

 

결론 및 고찰)

미국에서도 식료품 배달 서비스를 시작하고 있고(대형 플랫폼이 주로), 그것이 인기가 있음

또한 고객들에게 신선한 식재료를 빠르게 배달하기 위해 다양한 서비스를 제공함

그러나, 신기하게 앱으로 하는 것이 아니라 인터넷 주소창으로 들어가야 함

고객끼리 소통할 수 있는 커뮤니티는 없으나, 월마트의 기부 현황이나 뉴스에 대해서 소개하는 듯?(큐레이션)

 

어쨌든 고객끼리 소통 창구는 없음! 이는 새로운 물건을 시도한다기 보단, 다양한 제품에서 오로지 본인의 경험에만 의존해 음식을 선택해야 함

(ex. 새로운 종류의 치즈를 도전하고 싶은데, 시중에 너무 많은 제품이 출시되어 있음. 만약 소비자 커뮤니티가 활성화되어 있다면 본인의 취향에 맞는 치즈를 바로 구매할 수 있으나, 그런 것이 없기에 경험에 의존하거나 따로 찾아보는데 시간을 써야 함 + 구매했을 때 취향에 안 맞을 수 있음)

 

----

 

2. 일본

- 선정 이유 : 우리 나라랑 문화가 비슷해서(식생활, 음식 등) 비교하기에 적합하다고 생각

 

2-1. 일본의 식재료 배달 서비스

- https://www.watami-takushoku.co.jp/contents/top

배달원의 정보까지 나와 있음

매일 저녁에 배달해주는 시스템 (저녁 반찬을 노리고 한 듯), 냉동류의 경우 예약 가능

고객 커뮤니티나 큐레이션 기능은 딱히 없음

 

- https://www.familyset.jp/

좀 우리 앱의 목적과 비슷하다는 느낌이 들었음

염분을 조절하고 싶은 분께’, ‘본격적인 요리를 즐기고 싶은 분께’, ‘탄수화물이 신경 쓰이는 분께등 고민별로 카테고리를 세분화해서 배달 도시락을 판매

뿐만 아니라 생필품도 판매

캠페인 카테고리 있음 (모금 활동이나 응원 활동, 또는 어떤 도시락을 구매하면 특정 지역 사회에 모금하는 등)

 

- https://yoshikei-dvlp.co.jp/

일 단위로 조리법을 제공해주고 있음. 금주의 레시피 (~금까지) = 오늘의 조리법

위 레시피에 영양적인 성분 및 정보가 꽤 세세하게 나와 있음

이 앱은 큐레이션 존재. 인스타그램을 같이 끼워 넣거나, 같은 회사의 식자재를 팔고 있음

고객끼리 소통하는 창구는 없으나 고객이 본 사이트에 요구사항을 넣을 수 있는 칸이 있음

 

3. 특징 및 결론

- 한국보다 좀 비싸고, 수도권 지역이 아닌 이상 배달이 잘 안 오는 경우가 있음

- 그리고 미국의 경우 원료를 파는 마켓이 주, 그러나 일본에서는 냉동 반찬 + 도시락 반찬 + 밀키트 등을 파는 듯

아무래도 일본이 주부 시장이 매우 잘 형성되어 있어서, 타겟 소비자층이 주부인 듯?

 

- 그러나, 미국보다 꽤 자세한 설명과 많은 기능이 있음

- 미국 : 어떻게 하면 소비자에게 신선한 제품을 빨리 배달할 수 있을까?

- 일본 : 어떻게 하면 소비자의 취향에 맞는 제품을 제공할 수 있을까?

이런 차이인 듯

 

- 그러나, 이 또한 고객끼리 소통할 창구는 없음

- 만약 주 타겟층이 주부가 맞고, 도시락이나 반찬류를 제공하고 싶은거라면, 오히려 본인의 취향을 찾을 수 있는 커뮤니티 기능이 좀 더 주로 활성화되어야 할 텐데 없는 것이 의아함

- 대형 마트의 파는 제품보다, 도시락 반찬이 더 취향이 갈릴텐데?

- 그러나 타겟층에 맞게 많은 기능을 제시하는 것은 좋았음

 

우리의 차별점 : 소비자들의 소통 카테고리(맛 추천, 취향에 따라 쉽게 음식 찾아서 구매 가능, 실패 없는 소비, 따로 시간 내서 찾지 않아도 되는 간편함 등) + 큐레이션(현재 식품 트렌드, 식품 뉴스, 안전하거나 안전하지 않은 식품들, 지금 현재 당신이 고려해야할 영양소 등)

 

 

 

 

'올키트 > 참고 자료' 카테고리의 다른 글

[22.05.12] 회의 준비 자료  (0) 2022.05.12

1. dict은 저장 순서를 유지하기 위해 시작했다.

 

 - dict가 있기 때문에 odereddict가 필요하지 않다고 생각하면 안 됨.

 - 둘은 기본적인 기능이 같지만, 다른 성질을 가지고 있기 때문 = 즉, 사용하는 때가 다름 

 - 파이썬은 원래 dict가 저장 순서를 유지하지 않았음

 - 3.7버전 이후부터 유지하기 시작

 - 따라서 위 예제를 통해 출력한 순서대로 저장된 것을 알 수 있음 

 

* 정보(information)

 - 정보라는 것에는 a에 1을 저장, b에 2를 저장과 같이 키와 값을 저장하는 것도 정보로 포함 되지만, 저장 순서도 정보가 될 수 있음

 - 따라서 {a = 1, b = 2, c = 3}과 {a = 1, c = 3, b = 2}이 다르다고 인식한다면, 정보의 순서가 어떠한 가치를 가질 때!

 

* dict와 OrderedDict의 차이점

 ① dict 

   - 저장 순서에 신경을 쓰지 않음

   - 즉, 저장 순서가 다른 두 딕셔너리를 같은 데이터라고 인식 

   - 저장 순서를 information으로 취급하지 않기 때문!

 

 ② OrderedDict

   - 저장 순서에 신경을 씀 

   - 저장 순서도 다른 information으로 인식하기 때문 

 

  → 따라서, dict를 사용할 때 OrderedDict를 써볼까? 이런 식으로 접근하면 안 됨

 

 - OrderedDict를 사용하는 예제

 - collections 모듈으로부터 OrderedDict를 불러옴

 - od = OrderedDict() : OrderedDict 객체 생성

 

 - 하지만 앞서 언급했듯이, 파이썬 3.7버전 부터는 dict가 저장 순서를 유지하기 때문에 OrderedDict을 이렇게 저장하려는 목적으로 굳이 사용할 필요는 없음 

 

 

2. 그럼에도 불구하고 OrderedDict을 써야 할 이유가 있다면?

 - 사실 두 개는 사용되는 때가 다르기 때문에, 상황에 따라 다르게 써야 함 

 - 따라서 OrderedDict를 써야만 하는 상황이 존재함 

 

 - 위 예제는 dictionary를 사용하는 예제 

 - 즉, d1과 d2는 저장 순서는 다르지만 내용물이 같아 True로 인식 

 - dict함수는 저장 순서를 information으로 취급하지 않기 때문 

 

 - 저장 내용, 키와 값을 저장한 information은 서로 일치하지만, 저장 순서의 information은 일치하지 않기 때문에 False인 것을 알 수 있음 

 

 - dict의 경우, 저장 순서를 바꾸지 못함

     : 그럴 필요가 없고, dict함수는 저장 순서를 하나의 정보라고 인식하지 않기 때문 

- 그러나 OrderedDict의 경우, 저장 순서를 변경하는 연산도 있음 

    : OrderedDict는 저장 순서도 하나의 정보라고 인식하기 때문 

 

 - od.move_to_end('b') : 키가 'b'인 키와 값을 맨 뒤로 이동시키는 연산 

 - od.move_to_end('b', last = False) : last = False로 두면 맨 앞으로 가게 됨. 즉 'b'인 키와 값을 맨 앞으로 이동시키는 연산 

 

1. 키가 존재할 때와 존재하지 않을 때

 - dict의 문제점을 defaultdict로 해결하고자 하는 것

 

 - 딕셔너리에 해당 키가 존재하는 경우, 대입 연산의 결과가 값의 수정으로 이어짐

 

 - 해당 키가 존재하지 않는 경우, 대입 연산의 결과가 새로운 키와 값의 추가로 이어짐

 - 딕셔너리 대입 연산 패턴

  ① 추가(대입) : 해당 키가 있는 경우

  ② 수정 : 해당 키가 없는 경우

     → if~else 함수 사용

  

 

 - 저장되어 있는 값을 참조하는 경우, 그 키와 값이 존재하므로 += 연산 가능

 - 그러나 해당 키가 존재하지 않으면 예외가 발생함

 

 - 따라서 위의 경우일 때 if~else를 사용하면 됨

 - , 키가 존재할 때와 존재하지 않을 때의 상황 별 코드를 구분해야 함

 

 

 - 키가 있는 경우, 없는 경우를 if~else 함수를 사용해서 구분한 예제

 - dr값이 있으므로 1이 출력됨

 - 첫번째 o의 경우, d에 존재하므로 1이 출력됨, 두 번째 o의 경우 d에 존재하므로 1이 출력됨

    è 1 + 1 = 2

 

 - 문자를 바꾸어 보았음

 

 

2. setdefault 메소드

 - 위의 키와 값이 있는 경우와 없는 경우를 구분하기 위해 if~else를 사용하였음

 - 그것을 setdefault로 간단하게 표현할 수 있음

 - d.setdefault(k,0) + 1 : (k)와 값(0) setdefault에 저장하라

 - if ~ else처럼 두 가지로 나뉘어짐

   ① 키가 존재하지 않는 경우

     - 새로 등록

   ② 키가 존재하는 경우

     - “그 키는 이미 등록되어 있고, 값은 (내가 지정해준 값)이야

     - 등록된 키의 값을 반환

 - r의 값 : 일단 초기값을 0으로 지정, dr이 있으므로 +1을 해줌

 

 

3. defaultdict

 * 오해할 수 있는 사항

- 현재 학습 순서 : if~else à s.default à defaultdict

- 수준의 순서가 아님

- , 어느 정도 수준이나 실력이 있어야 defaultdict를 사용하는게 아니라, 방법의 종류일 뿐

 

 

 

 

 * defaultdict

- default 값을 등록한 dictionary

- 원래 dictionary는 특정한 키를 참조하는 경우, 그 키가 등록이 안됐을 때 예외가 발생함

- 그러나, defaultdict는 내가 어떤 키를 불러왔을 때, 그 키가 등록이 안되어 있으면 예외를 발생시키지 않고 등록시키는 함수임

- 따라서 딕셔너리에 특정 키를 등록을 하되, 내가 설정해놓은 default값으로 저장됨

 

 - collections 모듈에서 불러오겠음

 - d = defaultdict(int) : default methodint 함수로 지정

 - d[k] += 1: r을 불러옴. R0이라고 디폴트값을 지정

 - 정보까지 나오고, 딕셔너리를 어떻게 지정했는지도 나옴

 

 - int함수에 부연설명하기 위한 예제

 - int함수는 괄호 안에 무엇이 들어가든 정수로 반환함

 - 즉 문자열 36이 정수 36으로 반환된 것을 알 수 있음

 - 또 아무 내용 없이 빈 괄호만 담으면 0으로 반환됨

 - 이렇게 등록된 int함수는 디폴트 값을 얻는데 사용됨

 

 - 직접 함수를 만들어서 defaultdict 함수에 전달한 예제

 - def zet_zero() : method 함수 정의반복되는 코드, 기능, 행위를 쉽게 관리하는 함수

 - d[‘a’] : a를 참조하겠다는 명령어 사용 à 등록이 안되어있음 à ret_zero( )가 반환하는 값

    → , 0을 출력하게 되는 것

 

 - lambda 함수를 사용한 예제 : 매개변수 없이 값을 반환하는 함수

     → , 어떤 매개변수로 호출하든 상관없이 지정한 값이 나오게 됨

1. 파이썬에서 comma(,)를 사용하는 경우

다중 값을 사용할 때

단일 튜플을 사용할 때

③ Trai ling comma를 사용할 때

한 줄 출력이 필요할 때

 

2. 다중값을 사용하는 경우

1. 동시 선언

 
2. 값 교환

 
3. 다중 값 변환

 

 - 동시에 다중 값을 할당하거나 값을 여러 개 반환할 때 사용

 

3. 단일 튜플을 사용하는 경우

 - 파이썬엔 튜플(tuple)이라는 immutable한 리스트형 타입이 존재

     : , 수정할 수 없는 함수

 - 그러나, 리스트와 튜플의 다른 점

 - 리스트의 경우, (1)와 같이 하나의 원소를 가진 리스트를 선언하면, 원소가 하나인 리스트 함수가 됨

 - 그러나 tuple의 경우, 원소를 하나만 선언할 경우 우리가 원하는 원소가 하나인 튜플 함수의 값을 얻을 수 없음

      → 이 때, comma를 사용하면 단일 튜플을 얻을 수 있음!

 

 

 - 위처럼, (!)로 선언하면 튜플처럼 보이지만, 그냥 하나의 정수값을 나타내는 int형의 1의 값을 갖게 됨

 -  따라서 tuple 타입을 갖게 하려면 (1,)와 같이 원소 뒤에 comma를 붙이면 됨

 

 

4. Trailing comma를 사용할 때

 - Trailing comma : 리스트형 데이터를 한 줄씩 선언할 때 맨 뒤에 붙이는 comma

 

5. 한 줄 출력이 필요한 경우

 - python2의 경우에서만 유효한 팁임

 - 그러나, python2202011일부로 지원이 종료되었음

0 1 2 3 4 처럼 한줄에 출력할 수 있음

 

 

 

 

 - python2가 아니라서 실행이 안 됨

 

따라서, 내가 헷갈렸던 콤마의 의미는 단일 튜플 값을 선언하기 위함이었음!

 

 - , 내가 정의하는 것은 튜플로 묶여서 매개변수인 args에 전달되는 def func(*args)를 선언한 것이기 때문에, 그냥 1로 선언되는 정수 값이 아니라 (1,)로 반환된 것을 알 수 있음

 1. Visualizer

   - 처음 프로그램을 실행하였을 때 보게 되는 것

   - 분자 구조를 시각화하고, 다앙한 모델을 손쉽게 만들 수 있음

   - MD가 제공하는 모듈을 사용할 수 있는 기반이 됨

   - 이것을 사용하면 고분자 중합체, 유사체, 결정, 표면, 메조스케일 모델, 탄소나노튜브 등 다양한 구조를 몇 번의 클릭만으로 손쉽게 구축함

 

2. Modules

   - visualizer에서 만든 모델을 활용하는 계산 영역 차트

   - 계산할 수 있는 모델의 크기와 계산을 수행하는 시간으로 계산 영역을 구분한 차트

 

 

1) Quantum mechanics

- 전자 간 상호 작용을 고려한 물성 예측을 원하는 경우

    - 주로 HOMO, LOMO, 밴드 구조, DOS, UV-가시광선 스펙트럼 예측, 기계적 성질 계산 및 전이 상태 등과 같은 반응에 관한 계산

    - 관련 모듈 : DMol3, CASTEP, DFTB+, ONETEP, QMERA, VAMP

    - 장점 : 전자 성질 및 반응을 계산할 수 있음

            : 시스템 크기에 따라 계산량이 기하급수적으로 늘어나기 때문에, 350개 정도의 원자 개수로 계산량이 제한되어있음

 

 2) Molecular mechanics (Molecular Dynamics)

 - 고분자 중합체 등 분자의 거동을 시각화하고, 그 결과를 분석하는 다양한 해석 도구를 제공

 - 제올라이트 또는 표면에서 물리적 흡착 및 이원 시스템의 혼합도 계산 가능

 - 관련 모듈 : Forcite Plus, Gulf, Adsorption locator, Amorphous cell, Blends, Conformers, Sorption

 

 - 1 2는 원자 기반이라는 공통점(, micro scale)

 

3) Mesoscale simulation

 - 원자 여러개를 새로운 단위로 치환하는 경우

 - 나노-마이크로 스케일 이상 영역의 특성 연구 가능

 - 더 긴 시간 동역학 시뮬레이션을 수행

 - 상의 형성, 접촉각, 표면 장력 등을 다룰 수 있음

 - 관련 모듈 : Mesocite, MesoDyn

1. iterable 객체와 매개변수

func(*iterable) iterable 객체를 전달하면서 *을 붙여서 함수를 호출할 때
func(**dict) dict 객체를 전달하면서 **을 붙여서 함수를 호출할 때
def func(*args) 함수를 정의하면서 매개변수 args에 * 붙일 때
def func(**args) 함수를 정의하면서 매개변수 args에 ** 붙일 때 

 

func(*iterable) 리스트, 튜플, 문자열을 풀어서 전달
func(**dict) 딕셔너리의 값을 풀어서 전달

 - 객체를 전달하는 과정에서 언패킹이 진행되는 상황 

 - 리스트, 튜플, 문자열 모두 iterable 객체임 

 

 - func(*iterable)의 형태로 함수를 호출하는 예제

 - who(*[1, 2, 3]) : 리스트를 풀어서 매개변수에 각각 전달

 - who(*(0.1, 0.2, 0.3)) : 튜플을 풀어서 매개변수에 각각 전달 

 - who(*'abc') : 문자열을 풀어서 매개변수에 각각 전달 

 

 - func(**dict)의 형태로 딕셔너리를 전달하는 예제

 - who(*d) : 이렇듯 *을 붙이면 키가 매개변수에 전달됨 

 - who(**d) : 이렇듯 **을 붙이면 값이 매개변수에 전달됨

 

 - 키와 값을 튜플로 묶어서 함수에 전달하기 위한 예제

 - who(*(d.items())) : 이전에 설명했던 items 함수를 호출해서 뷰 객체를 얻음 

 - 뷰 객체도 iterable 객체이므로 *을 붙이는 경우 리스트에 *를 붙이는 경우와 동일한 형태의 결과를 얻게 됨 

 

 

2. 딕셔너리와 매개변수 

def func(*args) 값들이 튜플로 묶여서 args에 전달된다.
def func(**args) 전달되는 내용이 딕셔너리로 묶여서 args에 전달된다. 

 - def func(*args) 형태의 함수 정의가 갖는 의미를 보는 예제

 - 매개변수 선언에 *을 붙이면, 전달되는 값들이 모두 하나의 튜플로 묶여서 매개변수 args에 전달됨 

 - func() : 빈 튜플이 전달되는 형태

 - func(1) : 1이 튜플로 묶여서 전달

 - func(1, 2) : 1과 2가 튜플로 묶여서 전달

 

 - def func(**args) 형태의 함수가 갖는 의미를 보이는 예제

 - 딕셔너리의 생성으로 이어지며, 이 딕셔너리를 구성할 키와 값의 정보를 key = value 형태로 전달해야 함 

 - print(args) : args는 딕셔너리 

 - {'a':1, 'b':2} 생성되어 args에 전달됨 

 

1. 딕셔너리 루핑 테크닉 

 

 - 딕셔너리를 대상으로 하는 가장 보편적인 for 루프 구성 

 

 - 만약, 딕셔너리의 메소드를 알아 두면 다양한 for 루프를 구성할 수 있음

dict.keys( ) 딕셔너리의 키들만 참조하고자 할 때
dict.values( ) 딕셔너리의 값들만 참조하고자 할 때
dict.items( ) 딕셔너링의 키와 값을 튜플 형태로 참조하고자 할 때 

 - 위의 세 메소드가 반환하는 것을 뷰(view) 객체라고 함 

 - 뷰 객체도 iterable 객체로 for 루프를 통해 그 값을 하나씩 참조할 수 있음 

 

 - keys 메소드를 사용한 예시 

 

 - values 메소드를 사용한 예시 

 

 - items 메소드를 사용한 예시

 - for kv in d.items() : items는 뷰 객체를 반환함. 즉, 뷰 객체 이용한 for 루프 

 - print(kv, end = ', ') : (키, 값)이 순서대로 출력됨 

 

 - 똑같이 items 메소드를 사용한 예시 

 - 값을 꺼내는 과정에서 튜플 언패킹을 통해 키와 값을 분리함

 - for k, v in d.items( ) : k와 v에 값을 저장하는 과정에서 튜플 언패킹

 

 

2. 뷰가 바라보는 현재 상태 

 - 뷰 객체는 단순히 키 또는 값을 얻어오는데 사용될 뿐만 아니라 현재 딕셔너리의 상태를 그대로 반영한다는 특징이 있음 

 - 뷰라는 이름 처럼 딕셔너리의 현재 상태를 바라봄 

 - vo = d.items() : 뷰 객체를 얻음 

 - d['a'] += 3 : 딕셔너리 수정 

 - d['b'] -= 2 : 딕셔너리 수정 

 - for kv in vo : 수정 사항이 뷰 객체에 그대로 반영이 됨 

 

 - 위 예제에서 하나의 뷰 객체만을 얻어서 변수 vo에 저장했음

 - 두 for 루프 사이에서 딕셔너리의 수정이 있었는데, 그 수정 결과가 두 번째 for 루프에서 그대로 반영됨

 - 따라서 한 번 생성된 뷰 객체는 딕셔너리의 현재 상태를 반영함 

 

 

3. dict 컴프리헨션 

 

 - 우리가 배웠던 리스트 컴프리헨션의 예시 

 

 - d2 : d1의 값을 두 배 늘린 딕셔너리 생성

        : 키는 k이고 값은 v*2이다.

 

 - d3 : d2의 값을 두 배 늘린 딕셔너리 생성 

       : k와 v에는 d1의 키와 값이 각각 지정됨 

 - r1의 값들을 하나씩 x에 넣어서, x % 2가 True인지 확인하고, True이면 x * 2를 리스트에 추가하기 

 

 - d1의 키와 값을 하나씩 k, v에 넣어서 v % 2가 True인지 확인하고, True이면 k : v를 딕셔너리에 추가한다. 

 

 - ks : 이들은 키가 됨 

 - vs : 이들은 값이 됨

 - d : zip을 이용해서 같은 위치의 값들을 묶었음 

 

 - if절을 추가해서 값이 홀수인 것만 남긴 예시임 

+ Recent posts