<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>현 알트만의 Tech 로그</title>
    <link>https://hyeonseokrkr.tistory.com/</link>
    <description>현 알트만이 기록하는 IT와 툴, 그리고 기술의 내일</description>
    <language>ko</language>
    <pubDate>Sun, 5 Apr 2026 20:55:05 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>현 알트만</managingEditor>
    <image>
      <title>현 알트만의 Tech 로그</title>
      <url>https://tistory1.daumcdn.net/tistory/7310845/attach/4f75182932574799b91c16d0decc2ce3</url>
      <link>https://hyeonseokrkr.tistory.com</link>
    </image>
    <item>
      <title>MCP(Model Context Protocol): AI 서비스의 새로운 연결 혁명</title>
      <link>https://hyeonseokrkr.tistory.com/15</link>
      <description>&lt;p&gt;안녕하세요? 현 알트만입니다.&lt;/p&gt;
&lt;p&gt;오늘은 AI 세계에서 혁신적인 표준으로 떠오르는 MCP(Model Context Protocol)에 대해 알아보겠습니다. 이 프로토콜은 AI 애플리케이션이 외부 시스템과 보다 쉽고 표준화된 방식으로 통신할 수 있게 해주는 획기적인 기술입니다. 복잡했던 AI 시스템 간 연결의 한계를 극복하고, 새로운 가능성을 제시하는 MCP의 세계로 여러분을 초대합니다.&lt;br&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;100%&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqJEHF/btsNisIcibF/9f6QOfuhkjz8jWJuTyuKlK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqJEHF/btsNisIcibF/9f6QOfuhkjz8jWJuTyuKlK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqJEHF/btsNisIcibF/9f6QOfuhkjz8jWJuTyuKlK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqJEHF%2FbtsNisIcibF%2F9f6QOfuhkjz8jWJuTyuKlK%2Fimg.jpg&quot; width=&quot;100%&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2&gt;MCP란 무엇인가? By 현 알트만&lt;/h2&gt;
&lt;p&gt;MCP는 다양한 AI 애플리케이션이 외부 시스템과 통일된 방식으로 연결될 수 있도록 하는 표준 프로토콜입니다. 과거 각 AI 앱마다 제각각의 연결 방식을 사용해야 했던 복잡성을 해결하기 위해 등장한 혁신적인 기술입니다.&lt;br&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;100%&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MP2XZ/btsNhZGNG54/G0i0MMfq3DkulcFKWfEw60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MP2XZ/btsNhZGNG54/G0i0MMfq3DkulcFKWfEw60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MP2XZ/btsNhZGNG54/G0i0MMfq3DkulcFKWfEw60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMP2XZ%2FbtsNhZGNG54%2FG0i0MMfq3DkulcFKWfEw60%2Fimg.png&quot; width=&quot;100%&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2&gt;MCP의 핵심 기능들 By 현 알트만&lt;/h2&gt;
&lt;p&gt;MCP의 주요 특징들을 살펴보겠습니다:&lt;/p&gt;
&lt;p&gt;✓ &lt;strong&gt;통합된 연결 인터페이스&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;다양한 외부 시스템과의 표준화된 통신 방식 제공&lt;/li&gt;
&lt;li&gt;개발자들의 복잡한 연결 작업 간소화&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✓ &lt;strong&gt;유연한 데이터 활용&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;외부 데이터 소스를 쉽게 검색하고 활용 가능&lt;/li&gt;
&lt;li&gt;다양한 리소스, 도구, 프롬프트 연결 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✓ &lt;strong&gt;확장 가능한 아키텍처&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;새로운 시스템과의 쉬운 통합&lt;/li&gt;
&lt;li&gt;지속적인 기능 확장 용이&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✓ &lt;strong&gt;안전하고 효율적인 데이터 교환&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;보안 프로토콜을 통한 안전한 데이터 전송&lt;/li&gt;
&lt;li&gt;최적화된 데이터 처리 메커니즘&lt;br&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;100%&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caGJsP/btsNiqcSFbU/zM4GpTVfENSl2qmRMxWqT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caGJsP/btsNiqcSFbU/zM4GpTVfENSl2qmRMxWqT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caGJsP/btsNiqcSFbU/zM4GpTVfENSl2qmRMxWqT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaGJsP%2FbtsNiqcSFbU%2FzM4GpTVfENSl2qmRMxWqT1%2Fimg.png&quot; width=&quot;100%&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;MCP 활용 및 시작하기 By 현 알트만&lt;/h2&gt;
&lt;p&gt;MCP를 실제로 활용하는 방법을 알아보겠습니다:&lt;/p&gt;
&lt;p&gt;✓ &lt;strong&gt;프로젝트 설정&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Node.js 환경에서 MCP 라이브러리 설치&lt;/li&gt;
&lt;li&gt;기본 구성 파일 설정&lt;/li&gt;
&lt;li&gt;필요한 외부 시스템 연결 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✓ &lt;strong&gt;주요 도구 및 플랫폼&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Claude Desktop&lt;/strong&gt;: MCP 기반 AI 통합 플랫폼&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VS Code 확장&lt;/strong&gt;: MCP 개발 지원 도구&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Postman&lt;/strong&gt;: API 연결 테스트 플랫폼&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Docker&lt;/strong&gt;: 컨테이너화된 MCP 환경 구축&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kubernetes&lt;/strong&gt;: 대규모 MCP 시스템 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✓ &lt;strong&gt;모범 사례&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;명확한 인터페이스 설계&lt;/li&gt;
&lt;li&gt;보안 프로토콜 강화&lt;/li&gt;
&lt;li&gt;지속적인 성능 모니터링&lt;br&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;100%&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d9Jelz/btsNjafEbKL/a7EMqSKJiAFdoIk7NVFiRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d9Jelz/btsNjafEbKL/a7EMqSKJiAFdoIk7NVFiRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d9Jelz/btsNjafEbKL/a7EMqSKJiAFdoIk7NVFiRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd9Jelz%2FbtsNjafEbKL%2Fa7EMqSKJiAFdoIk7NVFiRk%2Fimg.png&quot; width=&quot;100%&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;MCP 활용 분야 By 현 알트만&lt;/h2&gt;
&lt;p&gt;MCP의 다양한 응용 사례를 살펴보겠습니다:&lt;/p&gt;
&lt;p&gt;✓ &lt;strong&gt;AI 개발 환경&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;통합 개발 도구 연결&lt;/li&gt;
&lt;li&gt;복잡한 AI 모델 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✓ &lt;strong&gt;기업용 솔루션&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;기업 내 다양한 시스템 연동&lt;/li&gt;
&lt;li&gt;데이터 통합 및 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✓ &lt;strong&gt;교육 및 연구&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;학술 데이터베이스 연결&lt;/li&gt;
&lt;li&gt;연구 도구 통합&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✓ &lt;strong&gt;IoT 및 스마트 시스템&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;다양한 IoT 기기와의 연결&lt;/li&gt;
&lt;li&gt;실시간 데이터 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;MCP vs 기존 방식 비교 By 현 알트만&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;특성&lt;/th&gt;
&lt;th&gt;기존 방식&lt;/th&gt;
&lt;th&gt;MCP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;연결 복잡성&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;확장성&lt;/td&gt;
&lt;td&gt;제한적&lt;/td&gt;
&lt;td&gt;매우 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;개발 생산성&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;표준화 수준&lt;/td&gt;
&lt;td&gt;낮음&lt;/td&gt;
&lt;td&gt;높음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h2&gt;MCP, 미래를 열다 By 현 알트만&lt;/h2&gt;
&lt;p&gt;MCP는 단순한 프로토콜을 넘어 AI 생태계의 새로운 패러다임을 제시합니다. 앞으로 AI 기술이 더욱 복잡해지고 다양해질수록, MCP와 같은 표준화된 연결 방식의 중요성은 더욱 커질 것입니다.&lt;/p&gt;
&lt;p&gt;이런 미래를 그려볼 수 있지 않을까요? 다양한 AI 시스템들이 마치 하나의 거대한 두뇌처럼 자연스럽게 연결되고, 정보를 교환하며, 우리가 상상할 수 없었던 혁신적인 솔루션을 만들어내는 세상 말입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;100%&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l0GPE/btsNgh1BJ0O/MRV8VowKq6nd394ylbyGY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l0GPE/btsNgh1BJ0O/MRV8VowKq6nd394ylbyGY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l0GPE/btsNgh1BJ0O/MRV8VowKq6nd394ylbyGY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl0GPE%2FbtsNgh1BJ0O%2FMRV8VowKq6nd394ylbyGY1%2Fimg.png&quot; width=&quot;100%&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;감사합니다. 현 알트만이었습니다.&lt;/p&gt;</description>
      <category>Tech 뉴스</category>
      <category>cladue mcp</category>
      <category>MCP</category>
      <category>model context protocol</category>
      <category>클로드 mcp</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/15</guid>
      <comments>https://hyeonseokrkr.tistory.com/15#entry15comment</comments>
      <pubDate>Fri, 11 Apr 2025 15:19:45 +0900</pubDate>
    </item>
    <item>
      <title>2025년 베스트 스마트워치 추천 TOP 4 - 애플, 삼성, 구글, 샤오미 완벽 비교</title>
      <link>https://hyeonseokrkr.tistory.com/14</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;안녕하세요, 현 호트만입니다! 오늘은 2025년 최신 스마트워치에 대한 정보와 추천 모델을 소개해드릴게요. 잠깐의 시간 투자로 현명한 선택을 할 수 있도록 도와드리겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;greeting&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;9A1E6968-5794-479E-B404-B6F548B21576.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/efUOkk/btsMZJLvd2z/shHwlZCP4SrkQDRqS3xLKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/efUOkk/btsMZJLvd2z/shHwlZCP4SrkQDRqS3xLKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/efUOkk/btsMZJLvd2z/shHwlZCP4SrkQDRqS3xLKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefUOkk%2FbtsMZJLvd2z%2FshHwlZCP4SrkQDRqS3xLKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;685&quot; height=&quot;685&quot; data-filename=&quot;9A1E6968-5794-479E-B404-B6F548B21576.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h1&gt;2025년 최고의 스마트워치 추천, 당신의 손목을 더 똑똑하게!&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스마트워치는 이제 단순한 시계가 아니라 우리 생활의 필수품이 되었습니다. 심박수 체크부터 핸드폰 알림까지, 손목 위의 작은 컴퓨터가 할 수 있는 일이 정말 많아졌습니다. 재밌는 사실은 평균적인 스마트워치 사용자가 하루에 시간을 확인하는 횟수가 일반 시계 사용자보다 60% 적다는 것입니다. 아마도 알림으로 다 확인해서 그럴 것입니다!&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;스마트워치란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스마트워치는 단순한 시계 기능을 넘어 스마트폰과 연동되어 알림, 건강 관리, 피트니스 트래킹 등 다양한 기능을 제공하는 웨어러블 기기입니다. 최근 모델들은 독립적인 셀룰러 기능, GPS, 심전도(ECG) 측정 같은 고급 기능까지 탑재되어 있어서 손목에 차는 작은 컴퓨터라고 봐도 무방합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2025년 최고의 스마트워치 브랜드와 모델&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 애플 워치 시리즈 10&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;183&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtHgql/btsM1cy83T1/GYUOUhXPnnxTKnQgqaOVZ0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtHgql/btsM1cy83T1/GYUOUhXPnnxTKnQgqaOVZ0/img.jpg&quot; data-alt=&quot;애플 워치 시리즈 10&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtHgql/btsM1cy83T1/GYUOUhXPnnxTKnQgqaOVZ0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtHgql%2FbtsM1cy83T1%2FGYUOUhXPnnxTKnQgqaOVZ0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;457&quot; height=&quot;304&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;애플 워치 시리즈 10&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플의 플래그십 스마트워치로, 가장 크고 발전된 디스플레이를 자랑합니다. 이전 모델보다 30% 더 넓어진 올웨이즈 온 레티나 디스플레이는 정보를 한눈에 확인하기 쉽게 해주고, 애플 역사상 가장 얇은 워치로 거의 모든 부분이 재설계되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;300&quot; data-origin-height=&quot;168&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xiTV2/btsM14UQBkL/5M5drn1l6LEeNz86uAdoGK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xiTV2/btsM14UQBkL/5M5drn1l6LEeNz86uAdoGK/img.jpg&quot; data-alt=&quot;애플 워치 시리즈 10&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xiTV2/btsM14UQBkL/5M5drn1l6LEeNz86uAdoGK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxiTV2%2FbtsM14UQBkL%2F5M5drn1l6LEeNz86uAdoGK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;536&quot; height=&quot;300&quot; data-origin-width=&quot;300&quot; data-origin-height=&quot;168&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;애플 워치 시리즈 10&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;주요 특징:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;30% 더 넓어진 올웨이즈 온 레티나 디스플레이&lt;/li&gt;
&lt;li&gt;ECG, 심박수 추적, 수면 분석 등 건강 모니터링 기능&lt;/li&gt;
&lt;li&gt;맞춤형 액티비티 링, 고급 측정 기능&lt;/li&gt;
&lt;li&gt;30분 만에 80% 충전 가능한 빠른 충전 기능&lt;/li&gt;
&lt;li&gt;제트 블랙 알루미늄 케이스 옵션 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 구글 픽셀 워치 3&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;380&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRyflk/btsM0JxG5IG/uXP04fIWF3diwKFXrfjqzk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRyflk/btsM0JxG5IG/uXP04fIWF3diwKFXrfjqzk/img.jpg&quot; data-alt=&quot;구글 픽셀 워치 3의 다양한 색상과 밴드 옵션&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRyflk/btsM0JxG5IG/uXP04fIWF3diwKFXrfjqzk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRyflk%2FbtsM0JxG5IG%2FuXP04fIWF3diwKFXrfjqzk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;380&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;380&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;구글 픽셀 워치 3의 다양한 색상과 밴드 옵션&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;픽셀 워치 3는 구글의 플래그십 스마트워치로, 2025년 안드로이드 사용자에게 최고의 선택입니다. 이번 모델은 41mm와 45mm 두 가지 크기로 출시되어 선택의 폭이 넓어졌고, 두 크기 모두 이전보다 더 밝은 디스플레이를 갖추고 있어서 햇빛 아래에서도 선명하게 볼 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZMBYR/btsMZCyNAoV/ojLi0Or0m6ObfhP2KIALRK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZMBYR/btsMZCyNAoV/ojLi0Or0m6ObfhP2KIALRK/img.webp&quot; data-alt=&quot;구글 픽셀 워치 3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZMBYR/btsMZCyNAoV/ojLi0Or0m6ObfhP2KIALRK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZMBYR%2FbtsMZCyNAoV%2FojLi0Or0m6ObfhP2KIALRK%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;287&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;구글 픽셀 워치 3&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;291&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IbMSV/btsMZXb30Jt/ASHANwwc7J4uEAxMr9gtn0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IbMSV/btsMZXb30Jt/ASHANwwc7J4uEAxMr9gtn0/img.webp&quot; data-alt=&quot;구글 픽셀 워치 3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IbMSV/btsMZXb30Jt/ASHANwwc7J4uEAxMr9gtn0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIbMSV%2FbtsMZXb30Jt%2FASHANwwc7J4uEAxMr9gtn0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1000&quot; height=&quot;291&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;291&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;구글 픽셀 워치 3&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;주요 특징:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;41mm와 45mm 두 가지 크기 옵션&lt;/li&gt;
&lt;li&gt;최대 2,000 니트의 밝기를 자랑하는 Actua 디스플레이&lt;/li&gt;
&lt;li&gt;Wear OS 5와 전력 효율적인 하이브리드 아키텍처&lt;/li&gt;
&lt;li&gt;맞춤형 러닝 기능과 정확한 심박수 모니터링&lt;/li&gt;
&lt;li&gt;손실 맥박 감지(Loss of Pulse Detection) 기능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 삼성 갤럭시 워치 7 울트라&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;294&quot; data-origin-height=&quot;171&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biYCyc/btsM2EVFCZq/KuRHVK9h5glpHB0OxIUuhk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biYCyc/btsM2EVFCZq/KuRHVK9h5glpHB0OxIUuhk/img.jpg&quot; data-alt=&quot;삼성 갤럭시 워치 7 울트라&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biYCyc/btsM2EVFCZq/KuRHVK9h5glpHB0OxIUuhk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiYCyc%2FbtsM2EVFCZq%2FKuRHVK9h5glpHB0OxIUuhk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;421&quot; height=&quot;245&quot; data-origin-width=&quot;294&quot; data-origin-height=&quot;171&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;삼성 갤럭시 워치 7 울트라&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;183&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4F8C3/btsM2n0USJf/F1qbLFHzwHd3DZCBQrbSW1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4F8C3/btsM2n0USJf/F1qbLFHzwHd3DZCBQrbSW1/img.jpg&quot; data-alt=&quot;삼성 갤럭시 워치 7 울트라&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4F8C3/btsM2n0USJf/F1qbLFHzwHd3DZCBQrbSW1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4F8C3%2FbtsM2n0USJf%2FF1qbLFHzwHd3DZCBQrbSW1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;304&quot; height=&quot;202&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;삼성 갤럭시 워치 7 울트라&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;삼성 갤럭시 워치 7 울트라는 삼성의 프리미엄 스마트워치로, 견고한 디자인과 뛰어난 배터리 수명이 특징입니다. 쿠션형 케이스 디자인과 애플 워치 울트라 2에서 영감을 받은 퀵 버튼 등 유용한 기능을 갖추고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;300&quot; data-origin-height=&quot;168&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zog5m/btsMZCZSdhT/2bNFVnwVcQbnKUwq9hJ6ik/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zog5m/btsMZCZSdhT/2bNFVnwVcQbnKUwq9hJ6ik/img.jpg&quot; data-alt=&quot;삼성 갤럭시 워치 7 울트라&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zog5m/btsMZCZSdhT/2bNFVnwVcQbnKUwq9hJ6ik/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZog5m%2FbtsMZCZSdhT%2F2bNFVnwVcQbnKUwq9hJ6ik%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;461&quot; height=&quot;258&quot; data-origin-width=&quot;300&quot; data-origin-height=&quot;168&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;삼성 갤럭시 워치 7 울트라&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;주요 특징:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;견고한 티타늄 케이스와 사파이어 크리스탈 디스플레이&lt;/li&gt;
&lt;li&gt;향상된 심박수 정확도&lt;/li&gt;
&lt;li&gt;수면 무호흡증 감지 기능&lt;/li&gt;
&lt;li&gt;에너지 점수 제공&lt;/li&gt;
&lt;li&gt;밝은 디스플레이와 유용한 퀵 버튼&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 샤오미 워치 2&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;263&quot; data-origin-height=&quot;192&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bf1UMf/btsM05HbytH/kP73mkKqmZh7cf0j90E770/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bf1UMf/btsM05HbytH/kP73mkKqmZh7cf0j90E770/img.jpg&quot; data-alt=&quot;샤오미 워치 2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bf1UMf/btsM05HbytH/kP73mkKqmZh7cf0j90E770/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf1UMf%2FbtsM05HbytH%2FkP73mkKqmZh7cf0j90E770%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;443&quot; height=&quot;323&quot; data-origin-width=&quot;263&quot; data-origin-height=&quot;192&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;샤오미 워치 2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가성비를 중시하는 사용자에게 샤오미 워치 2는 최고의 선택입니다. 프리미엄 기능을 합리적인 가격에 제공하며, 전체 Wear OS를 예산 카테고리에 도입했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;224&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dMk6NL/btsMZOlKZBr/KTbQbYGCrHlU6nFjYqFtgK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dMk6NL/btsMZOlKZBr/KTbQbYGCrHlU6nFjYqFtgK/img.jpg&quot; data-alt=&quot;스마트워치로 건강 데이터 모니터링&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dMk6NL/btsMZOlKZBr/KTbQbYGCrHlU6nFjYqFtgK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdMk6NL%2FbtsMZOlKZBr%2FKTbQbYGCrHlU6nFjYqFtgK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;426&quot; height=&quot;426&quot; data-origin-width=&quot;224&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스마트워치로 건강 데이터 모니터링&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;299&quot; data-origin-height=&quot;168&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7SspB/btsM0wrjtxY/TyK55QJF1T7HSN8MKzKfmK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7SspB/btsM0wrjtxY/TyK55QJF1T7HSN8MKzKfmK/img.jpg&quot; data-alt=&quot;샤오미 워치 2의 가성비 좋은 디자인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7SspB/btsM0wrjtxY/TyK55QJF1T7HSN8MKzKfmK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7SspB%2FbtsM0wrjtxY%2FTyK55QJF1T7HSN8MKzKfmK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;428&quot; height=&quot;240&quot; data-origin-width=&quot;299&quot; data-origin-height=&quot;168&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;샤오미 워치 2의 가성비 좋은 디자인&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;주요 특징:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전체 Wear OS 통합&lt;/li&gt;
&lt;li&gt;다양한 앱 접근성&lt;/li&gt;
&lt;li&gt;세련된 소프트웨어 경험&lt;/li&gt;
&lt;li&gt;뛰어난 빌드 품질과 멋진 디스플레이&lt;/li&gt;
&lt;li&gt;합리적인 가격&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;스마트워치의 장단점&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Photo_2025-03-28-23-52-02-2.jpeg&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;307&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KM47E/btsM2gAL8Gz/QKigCa3RJdMeDG0SV9T0Nk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KM47E/btsM2gAL8Gz/QKigCa3RJdMeDG0SV9T0Nk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KM47E/btsM2gAL8Gz/QKigCa3RJdMeDG0SV9T0Nk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKM47E%2FbtsM2gAL8Gz%2FQKigCa3RJdMeDG0SV9T0Nk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;695&quot; height=&quot;307&quot; data-filename=&quot;KakaoTalk_Photo_2025-03-28-23-52-02-2.jpeg&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;307&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div class=&quot;pros-cons&quot;&gt;
&lt;div class=&quot;pros&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;장점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;건강 모니터링:&lt;/b&gt; 심박수, 산소포화도, 심전도 등 건강 상태를 실시간으로 체크할 수 있습니다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;편리한 알림:&lt;/b&gt; 스마트폰을 꺼내지 않고도 중요한 알림을 확인할 수 있어 업무 효율성 향상&lt;/li&gt;
&lt;li&gt;&lt;b&gt;운동 추적:&lt;/b&gt; 다양한 운동을 자동으로 감지하고 칼로리, 거리, 속도 등을 정확하게 측정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;음성 비서:&lt;/b&gt; Siri, Google 어시스턴트 등을 통해 손을 사용하지 않고도 작업 수행 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;비접촉 결제:&lt;/b&gt; 애플 페이, 구글 페이 등을 통해 지갑 없이 결제 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;cons&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;단점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;배터리 수명:&lt;/b&gt; 일부 모델은 하루 정도밖에 지속되지 않아 자주 충전해야 함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;가격:&lt;/b&gt; 고급 모델의 경우 상당히 비싼 가격대를 형성&lt;/li&gt;
&lt;li&gt;&lt;b&gt;작은 화면:&lt;/b&gt; 디스플레이 크기가 제한적이어서 일부 작업은 여전히 스마트폰이 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;실제 적용 사례&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;사례 1: 건강 관리에 활용&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Photo_2025-03-28-23-52-02-1.jpeg&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;650&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yg5pJ/btsMZEXJm0f/EB0qWavl2LkOkiPJUiJONK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yg5pJ/btsMZEXJm0f/EB0qWavl2LkOkiPJUiJONK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yg5pJ/btsMZEXJm0f/EB0qWavl2LkOkiPJUiJONK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fyg5pJ%2FbtsMZEXJm0f%2FEB0qWavl2LkOkiPJUiJONK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;643&quot; height=&quot;418&quot; data-filename=&quot;KakaoTalk_Photo_2025-03-28-23-52-02-1.jpeg&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;650&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 40대 회사원이 고혈압 진단을 받은 후 애플 워치 시리즈 10을 구매했습니다. 규칙적인 심박수 모니터링과 활동 알림 덕분에 6개월 만에 혈압이 정상 범위로 돌아왔고, 수면 패턴도 개선되었습니다. 특히 스트레스 알림 기능으로 업무 중 과도한 스트레스를 인지하고 적절한 휴식을 취할 수 있었다고 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;사례 2: 업무 효율성 향상&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_Photo_2025-03-28-23-52-02-3.jpeg&quot; data-origin-width=&quot;284&quot; data-origin-height=&quot;177&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vxONU/btsM2xoJJgb/NqeuJL4Of6RT4EXE5GPKkk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vxONU/btsM2xoJJgb/NqeuJL4Of6RT4EXE5GPKkk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vxONU/btsM2xoJJgb/NqeuJL4Of6RT4EXE5GPKkk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvxONU%2FbtsM2xoJJgb%2FNqeuJL4Of6RT4EXE5GPKkk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;518&quot; height=&quot;323&quot; data-filename=&quot;KakaoTalk_Photo_2025-03-28-23-52-02-3.jpeg&quot; data-origin-width=&quot;284&quot; data-origin-height=&quot;177&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바쁜 일정의 프리랜서 디자이너는 갤럭시 워치 7을 활용해 알림 관리와 일정 관리를 효율적으로 하고 있습니다. 클라이언트와의 중요한 메시지는 즉시 확인하고, 빠른 응답 템플릿을 활용해 이동 중에도 소통이 가능해졌습니다. 또한 음성 메모 기능으로 아이디어가 떠오를 때마다 바로 기록할 수 있어 창의력 향상에도 도움이 되었다고 합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;비교 분석: 스마트워치 vs 피트니스 트래커&lt;/h2&gt;
&lt;div class=&quot;comparison&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;공통점:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기본적인 활동 추적 (걸음 수, 칼로리 소모량, 수면 패턴)&lt;/li&gt;
&lt;li&gt;심박수 모니터링 기능&lt;/li&gt;
&lt;li&gt;스마트폰 연동&lt;/li&gt;
&lt;li&gt;방수 기능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;차이점:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;스마트워치:&lt;/b&gt; 더 큰 디스플레이, 앱 설치 가능, 음성 비서, 전화 통화, 문자 답장 기능, 다양한 건강 기능(ECG, 산소포화도 등), 더 비싼 가격대&lt;/li&gt;
&lt;li&gt;&lt;b&gt;피트니스 트래커:&lt;/b&gt; 더 작은 디스플레이, 제한된 기능, 더 긴 배터리 수명, 운동 중심 기능, 더 합리적인 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;활용 팁과 노하우&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 배터리 수명 최적화하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스마트워치 배터리를 오래 쓰려면 항상 켜진 디스플레이를 끄고, 밝기를 줄이며, 불필요한 알림은 꺼두는 것이 좋습니다. 특히 애플 워치의 경우 '절전 모드'를 활용하면 배터리 수명을 최대 36시간까지 연장할 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 워치페이스 활용하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용 패턴에 맞는 워치페이스를 설정하면 기능성이 크게 향상됩니다. 운동할 때는 심박수와 칼로리가 표시되는 페이스, 업무 중에는 일정과 알림이 중심인 페이스를 활용해보세요. 요일별로 다른 워치페이스를 설정하는 것도 좋은 방법입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 건강 데이터 활용하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 스마트워치는 수집된 건강 데이터를 앱과 연동해 종합적인 분석을 제공합니다. 이 데이터를 정기적으로 확인하고 트렌드를 파악하면 건강 관리에 큰 도움이 됩니다. 특히 수면 패턴, 심박수 변화, 활동량 변화를 주기적으로 체크해보는 것을 추천합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 타사 앱 활용하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 앱도 좋지만, 각 모델에 맞는 타사 앱을 활용하면 기능을 더 확장할 수 있습니다. 예를 들어 스트레스 관리 앱, 수분 섭취 알림 앱, 체계적인 운동 가이드 앱 등이 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 방해 금지 모드 활용하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회의나 중요한 일에 집중해야 할 때는 방해 금지 모드를 활성화하세요. 대부분의 스마트워치에서 시간대별로 자동 설정도 가능하니, 업무 시간이나 취침 시간에 맞춰 자동화해보는 것도 좋은 방법입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;자주 묻는 질문&lt;/h2&gt;
&lt;div class=&quot;faq&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q1: 스마트워치와 스마트폰은 반드시 같은 브랜드여야 하나요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반드시 같은 브랜드일 필요는 없지만, 같은 브랜드일 때 호환성과 기능이 최적화됩니다. 애플 워치는 아이폰만 호환되지만, 갤럭시 워치나 픽셀 워치는 대부분의 안드로이드 폰과 호환됩니다. 다만 일부 고급 기능은 같은 브랜드 기기에서만 작동할 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;faq&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q2: 스마트워치를 얼마나 자주 충전해야 하나요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 모델마다 다릅니다. 애플 워치 시리즈 10은 하루에 한 번, 갤럭시 워치 7 울트라는 약 2-3일에 한 번, 일부 피트니스 중심 스마트워치는 5-7일까지도 유지됩니다. 사용 패턴(GPS 사용, 디스플레이 밝기 등)에 따라 배터리 수명이 달라질 수 있습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;faq&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Q3: 수영할 때도 스마트워치를 착용해도 괜찮을까요?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 최신 스마트워치는 수영에 적합한 5ATM 이상의 방수 등급을 갖추고 있습니다. 애플 워치 시리즈 10, 갤럭시 워치 7, 픽셀 워치 3 모두 수영장이나 바다에서 사용 가능합니다. 다만 고압의 물(예: 제트스키, 수상스키)에는 노출시키지 않는 것이 좋고, 염수에 노출된 후에는 깨끗한 물로 씻어주는 것이 좋습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2025 스마트워치 추천: 결론&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스마트워치는 이제 그저 시간을 알려주는 기기가 아니라, 우리의 건강 관리사이자 개인 비서, 운동 코치 역할까지 하는 멀티 기기입니다. 2025년에는 특히 배터리 수명, 디스플레이 품질, 건강 모니터링 기능이 크게 발전했습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FwIRl/btsM2e31bbA/WfcM4842O4AuiBx00ylJBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FwIRl/btsM2e31bbA/WfcM4842O4AuiBx00ylJBk/img.png&quot; data-alt=&quot;다양한 기능을 제공하는 최신 스마트워치&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FwIRl/btsM2e31bbA/WfcM4842O4AuiBx00ylJBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFwIRl%2FbtsM2e31bbA%2FWfcM4842O4AuiBx00ylJBk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;다양한 기능을 제공하는 최신 스마트워치&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플 생태계 사용자라면 애플 워치 시리즈 10이, 안드로이드 사용자라면 픽셀 워치 3나 갤럭시 워치 7 울트라가 좋은 선택이 될 것입니다. 예산이 제한적이라면 샤오미 워치 2도 훌륭한 대안입니다. 결국 가장 중요한 것은 자신의 라이프스타일에 맞는 제품을 선택하는 것입니다. 어떤 제품을 선택하든, 스마트워치는 분명 당신의 일상을 더 편리하고 건강하게 만들어줄 것입니다!&lt;/p&gt;</description>
      <category>리뷰 &amp;amp; 언박싱</category>
      <category>스마트워치2025</category>
      <category>스마트워치추천</category>
      <category>웨어러블기기</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/14</guid>
      <comments>https://hyeonseokrkr.tistory.com/14#entry14comment</comments>
      <pubDate>Fri, 28 Mar 2025 23:29:44 +0900</pubDate>
    </item>
    <item>
      <title>넘파이 기초</title>
      <link>https://hyeonseokrkr.tistory.com/13</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Keyword: 넘파이 불러오기, 배열만들기, reshape(), 조회 및 슬라이싱, 조건 조회, 연산&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 넘파이 불러오기&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;737&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rz2D5/btsJzAEs94F/ExVbfC3pydlsKkCEgOgqP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rz2D5/btsJzAEs94F/ExVbfC3pydlsKkCEgOgqP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rz2D5/btsJzAEs94F/ExVbfC3pydlsKkCEgOgqP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Frz2D5%2FbtsJzAEs94F%2FExVbfC3pydlsKkCEgOgqP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;737&quot; height=&quot;238&quot; data-origin-width=&quot;737&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&quot;import numpy as np&quot;&lt;/span&gt;, 기억하자. 이는 numpy 라이브러리를 불러와서 np라는 별칭으로 사용한다는 뜻이다. 물론, np라는 별칭 외에 다른 것으로 사용해도 되지만, 일종의 굳어진 사회적 함의이므로 최대한 위와 같은 별칭을 사용하도록 하자.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 배열 만들기&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1726139075711&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 1차원 리스트
a1 = [1, 2, 3, 4, 5]

# 배열로 변환
b1 = np.array(a1)

# 확인
print(b1)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;162&quot; data-origin-height=&quot;23&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAVTxa/btsJzSrpzGq/BxW9WeAMXF7Al1mQDDIDY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAVTxa/btsJzSrpzGq/BxW9WeAMXF7Al1mQDDIDY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAVTxa/btsJzSrpzGq/BxW9WeAMXF7Al1mQDDIDY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAVTxa%2FbtsJzSrpzGq%2FBxW9WeAMXF7Al1mQDDIDY0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;162&quot; height=&quot;23&quot; data-origin-width=&quot;162&quot; data-origin-height=&quot;23&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;넘파이로 배열을 만들 때는 리스트를 np.array()안에 넣어주면 된다. 위와 같이 리스트를 받는 변수를 이용해도 되지만 직접 리스트 형태로 넣어도 같은 결과가 나온다. 배열을 확인해본 결과 알맞게 나온 것을 확인할 수 있다. 리스트와 다른 것은 ','가 없다는 것이다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. reshape()&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1726139348135&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# (2, 3) 형태의 2차원 배열 만들기
a = np.array([[1, 2, 3],
              [4, 5, 6]])

# 확인
print(a)&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1726139314012&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# (3, 2) 형태의 2차원 배열로 Reshape
b = a.reshape(3, 2)

# 확인
print(b)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;위와 같은 배열에서 배열의 reshape()하는 방법을 알아보자.&amp;nbsp; 이는 &lt;span style=&quot;color: #ee2323;&quot;&gt;배열 a를 받아서 &quot;reshape(행, 열)&quot;&lt;/span&gt;의 형태로 입혁하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1726139404380&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[[1 2]
 [3 4]
 [5 6]]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결과는 위와 같이 행 3개, 열 2개의 배열로 변환되었다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;*주의 사항&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; 배열은 배열의 짝이 맞지 않는 배열의 형태로 변환되지 않는다.&lt;/span&gt; 예를 들면 (3,2)의 shape를 가진 배열을 (4,1)의 배열로 반환할 수 없다. 즉 열과 행을 곱한 총 요소의 개수를 고려되어진 배열의 형태로만 바꿀 수 있다.&lt;/b&gt;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 조회 및 슬라이싱&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1726139606479&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# (3, 3) 형태의 2차원 배열 만들기
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

# 확인
print(a)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;위와 같은 배열이 있을 때에 조회와 슬라이싱을 어떻게 할 수 있는 지에 대해서 살펴보자. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;[] 1개는 요소를 [] 2개, [[]]는 행과 열을 조회&lt;/span&gt;라고 생각하면 된다. 물론 차원이 높아짐에 따라, []의 개수가 더 늘어날 수 있다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;417&quot; data-origin-height=&quot;321&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eSSgzS/btsJzP9kYbq/QhZ7k3GHfRGSkV8xUMkFCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eSSgzS/btsJzP9kYbq/QhZ7k3GHfRGSkV8xUMkFCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eSSgzS/btsJzP9kYbq/QhZ7k3GHfRGSkV8xUMkFCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeSSgzS%2FbtsJzP9kYbq%2FQhZ7k3GHfRGSkV8xUMkFCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;417&quot; height=&quot;321&quot; data-origin-width=&quot;417&quot; data-origin-height=&quot;321&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;a[0,1] -&amp;gt; a의 첫번째 행과 두번째 열의 값: 2&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;a[[0, 1]] 은 a[[0,1], ]과 같다. 즉 열의 값은 입력되지 않았다. 즉, 첫번째와 두번째의 행의 값을 모두 출력하라는 출력문이다. 결과는 [[1 2 3] [4 5 6]]이다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;347&quot; data-origin-height=&quot;136&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YHBWA/btsJAkA5LNu/jvMrAJakosSBPxOztRpUIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YHBWA/btsJAkA5LNu/jvMrAJakosSBPxOztRpUIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YHBWA/btsJAkA5LNu/jvMrAJakosSBPxOztRpUIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYHBWA%2FbtsJAkA5LNu%2FjvMrAJakosSBPxOztRpUIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;347&quot; height=&quot;136&quot; data-origin-width=&quot;347&quot; data-origin-height=&quot;136&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;슬라이싱은 배열 변수 앞에 [a:b]의 형태로 입력된다. 물론 조금 복잡한 슬라이싱도 있지만, 하나만 알아보도록 하자.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;a[0:2]는 0부터 1번까지의 인덱스의, 즉, 첫번째와 두번재 행을 출력하도록 한다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5. 조건 조회&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1726140062633&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 2차원 배열 만들기
score= np.array([[78, 91, 84, 89, 93, 65],
                 [82, 87, 96, 79, 91, 73]])

# 확인
print(score)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1726140095069&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[[78 91 84 89 93 65]
 [82 87 96 79 91 73]]&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;위와 같은 배열이 score라는 변수에 저장되어 있다. 이를 조건으로 조회를 할 수 있는데, 그 방법을 알아보도록 하자.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1726140142303&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 요소 중에서 90 이상인 것만 조회
score[score &amp;gt;= 90]&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;배열 변수 앞에 []을 하고 안에 조건을 입력하면 된다. 위 같은 경우 [] 안에 score &amp;gt;= 90을 입력한 것을 볼 수 있다. 이로써 score 변수 안에서 90 이상인 요소가 조회가 된다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;267&quot; data-origin-height=&quot;32&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/moSLU/btsJzDBefsU/aAUzzPrbDIQGypb564ybxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/moSLU/btsJzDBefsU/aAUzzPrbDIQGypb564ybxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/moSLU/btsJzDBefsU/aAUzzPrbDIQGypb564ybxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmoSLU%2FbtsJzDBefsU%2FaAUzzPrbDIQGypb564ybxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;267&quot; height=&quot;32&quot; data-origin-width=&quot;267&quot; data-origin-height=&quot;32&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;90 이상의 값만 출력이 된 것을 확인할 수 있다.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1726140261714&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 모든 요소 중에서 90 이상 95 미만인 것만 조회
score[(score &amp;gt;= 90) &amp;amp; (score &amp;lt; 95)]&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;262&quot; data-origin-height=&quot;23&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zX4G3/btsJzQ8cp1S/ZQoE0oV64JtBvF881eufr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zX4G3/btsJzQ8cp1S/ZQoE0oV64JtBvF881eufr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zX4G3/btsJzQ8cp1S/ZQoE0oV64JtBvF881eufr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzX4G3%2FbtsJzQ8cp1S%2FZQoE0oV64JtBvF881eufr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;262&quot; height=&quot;23&quot; data-origin-width=&quot;262&quot; data-origin-height=&quot;23&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;조건을 2개 이상 넣을 수도 있는데, 이는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&quot;배열변수[(조건1) &amp;amp; (조건2)]&quot;&lt;/span&gt;의 형식으로 입력하면 된다. 위와 같은 케이스는 점수는 90이상 95미만인 값을 조회한였다.&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;6. 연산&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;626&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3LRIl/btsJAQe5F6g/3LiiTVHwxkPk1WDvSa8ayK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3LRIl/btsJAQe5F6g/3LiiTVHwxkPk1WDvSa8ayK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3LRIl/btsJAQe5F6g/3LiiTVHwxkPk1WDvSa8ayK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3LRIl%2FbtsJAQe5F6g%2F3LiiTVHwxkPk1WDvSa8ayK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;626&quot; data-origin-width=&quot;679&quot; data-origin-height=&quot;626&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;595&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rvIT2/btsJBO8uVw4/eFAViJEdFF3ja0WRGzWKeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rvIT2/btsJBO8uVw4/eFAViJEdFF3ja0WRGzWKeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rvIT2/btsJBO8uVw4/eFAViJEdFF3ja0WRGzWKeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrvIT2%2FbtsJBO8uVw4%2FeFAViJEdFF3ja0WRGzWKeK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;557&quot; height=&quot;595&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;595&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;591&quot; data-origin-height=&quot;755&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eafXWu/btsJzVaFjeH/9KFJhBfQae4RvCAj8fgb30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eafXWu/btsJzVaFjeH/9KFJhBfQae4RvCAj8fgb30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eafXWu/btsJzVaFjeH/9KFJhBfQae4RvCAj8fgb30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeafXWu%2FbtsJzVaFjeH%2F9KFJhBfQae4RvCAj8fgb30%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;591&quot; height=&quot;755&quot; data-origin-width=&quot;591&quot; data-origin-height=&quot;755&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;마지막으로 배열 연산에 대해서 알아보도록 하자. 배열 또한 더하기, 빼기, 곱하기, 나누기 등 기본적인 다양한 연산이 가능하다. 그러나,&lt;span style=&quot;color: #ee2323;&quot;&gt; 이는 행렬의 계산과 마찬가지로 더하기와 빼기는 두 배열의 shape가 일치해야 한다. 곱하기와 나누기는 두 배열이 있다고 하면 한 배열의 끝 열의 개수와 한 배열의 끝 행의 개수가 일치해야 한다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;위 예시는 두 개의 (2, 2) shape의 배열 연산이다. 결과는 사진을 참고하면 좋겠다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>개발자 로그/Python</category>
      <category>reshape()</category>
      <category>넘파이 불러오기</category>
      <category>배열만들기</category>
      <category>연산</category>
      <category>조건 조회</category>
      <category>조회 및 슬라이싱</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/13</guid>
      <comments>https://hyeonseokrkr.tistory.com/13#entry13comment</comments>
      <pubDate>Thu, 12 Sep 2024 20:31:17 +0900</pubDate>
    </item>
    <item>
      <title>[실습] 엑셀 파일 다루기</title>
      <link>https://hyeonseokrkr.tistory.com/12</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;download.png&quot; data-origin-width=&quot;196&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQHsnu/btsJzbQZd42/5K0hKluFhKO563ZGx5BKZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQHsnu/btsJzbQZd42/5K0hKluFhKO563ZGx5BKZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQHsnu/btsJzbQZd42/5K0hKluFhKO563ZGx5BKZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQHsnu%2FbtsJzbQZd42%2F5K0hKluFhKO563ZGx5BKZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;196&quot; height=&quot;186&quot; data-filename=&quot;download.png&quot; data-origin-width=&quot;196&quot; data-origin-height=&quot;186&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 마이크로소프트가 만든 가장 강력한 도구, 엑셀에 대한 접근을 파이썬으로 해보고자 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 라이브러리 불러오기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;351&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkcQ31/btsJySD76tD/NtGL3gM1UJqp6JIrdE2t01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkcQ31/btsJySD76tD/NtGL3gM1UJqp6JIrdE2t01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkcQ31/btsJySD76tD/NtGL3gM1UJqp6JIrdE2t01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkcQ31%2FbtsJySD76tD%2FNtGL3gM1UJqp6JIrdE2t01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;596&quot; height=&quot;351&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;351&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 openpyxl을 import한다. 그리고, 워크시트로 접근하는 작업을 수행한다. 미리 만들어놓은 &quot;Fruit.xlsx&quot;로 접근하여, load_workbook 메서드를 이용하여 워크시트에 접근한다. sheetnames를 이용하여 워크시트의 이름을 확인한다. 이를 후에 간편하게 다룩자 각각을 sheet1, sheet2라는 변수에 담아 넣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;* 저장된 엑셀 시트 확인&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;193&quot; data-origin-height=&quot;83&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxvtnR%2FbtsJyARy4Zh%2F2XkNrsXMJKLJRWyBPu5KA0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;193&quot; height=&quot;83&quot; data-origin-width=&quot;193&quot; data-origin-height=&quot;83&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장된 엑셀시트를 확인해보자. 위와 같은 모습이다. A1부터 B3까지의 셀의 과일 밑 색상 값이 들어가 있음을 확인할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 셀 값 출력하기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYKvXG/btsJzsLOFhm/A4EGKtk9RjchyobumcSQAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYKvXG/btsJzsLOFhm/A4EGKtk9RjchyobumcSQAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYKvXG/btsJzsLOFhm/A4EGKtk9RjchyobumcSQAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYKvXG%2FbtsJzsLOFhm%2FA4EGKtk9RjchyobumcSQAk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;572&quot; height=&quot;246&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;193&quot; data-origin-height=&quot;83&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxvtnR%2FbtsJyARy4Zh%2F2XkNrsXMJKLJRWyBPu5KA0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;193&quot; height=&quot;83&quot; data-origin-width=&quot;193&quot; data-origin-height=&quot;83&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서 배운 반복문을 통해서 A1, A2, A3의 값을 호출해본다. sheet2번째에서 cell(i,1)의 값들만 출력해본다. 여기서 i와 1은 i행의 1열을 출력하는 것이다. 즉 A열에 있는 값들이 모두 출력이 되는 것이다. 결과 값이 일치하는 것을 확인할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이와 별개로 sheet2[&quot;A1&quot;].value과 같은 방식으로 직접 셀이 있는 변수[&quot;셀 주소&quot;].value를 입력하면, 셀의 값이 반환된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 데이터 시작과 끝의 행과 열 번호 확인&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;547&quot; data-origin-height=&quot;242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cn7sRM/btsJyETDBJ2/VmII33Ls7p20ZulxrV5eq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cn7sRM/btsJyETDBJ2/VmII33Ls7p20ZulxrV5eq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cn7sRM/btsJyETDBJ2/VmII33Ls7p20ZulxrV5eq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcn7sRM%2FbtsJyETDBJ2%2FVmII33Ls7p20ZulxrV5eq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;547&quot; height=&quot;242&quot; data-origin-width=&quot;547&quot; data-origin-height=&quot;242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;193&quot; data-origin-height=&quot;83&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xvtnR/btsJyARy4Zh/2XkNrsXMJKLJRWyBPu5KA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxvtnR%2FbtsJyARy4Zh%2F2XkNrsXMJKLJRWyBPu5KA0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;193&quot; height=&quot;83&quot; data-origin-width=&quot;193&quot; data-origin-height=&quot;83&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀을 살펴보면 엑셀은 3행 2열로 구성되어 있는 것을 확인할 수 있다. min_row, max_row, min_column, max_column 매서드를 이용해서, 데이터 시작과 끝의 행, 열 번호를 출력해보면, 1부터 3까지의 행, 1부터 2까지의 열이 있음이 확인된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 엑셀 시트와 일치함을 확인할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 셀의 값 바꾸기&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;408&quot; data-origin-height=&quot;246&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgyheA/btsJzz4WEPY/jkKRV8z0dszvsrizcFn2Pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgyheA/btsJzz4WEPY/jkKRV8z0dszvsrizcFn2Pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgyheA/btsJzz4WEPY/jkKRV8z0dszvsrizcFn2Pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgyheA%2FbtsJzz4WEPY%2FjkKRV8z0dszvsrizcFn2Pk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;408&quot; height=&quot;246&quot; data-origin-width=&quot;408&quot; data-origin-height=&quot;246&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;셀의 값을 변경하도록 하자. list_food라는 리스트를 만들어서 음식 3개를 해당 변수에 넣는다. 그리고, A1부터 A3까지의 셀의 값을 list_food 0번부터 2번까지 입력되도록 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 A1부터 A3까지 순회하여 값을 출력하면, list_food의 값이 알맞게 들어가, 값이 바뀐 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;475&quot; data-origin-height=&quot;421&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m0Gjh/btsJz53mGQ2/RkoTqlTepVdYNGJaeDgCSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m0Gjh/btsJz53mGQ2/RkoTqlTepVdYNGJaeDgCSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m0Gjh/btsJz53mGQ2/RkoTqlTepVdYNGJaeDgCSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm0Gjh%2FbtsJz53mGQ2%2FRkoTqlTepVdYNGJaeDgCSK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;475&quot; height=&quot;421&quot; data-origin-width=&quot;475&quot; data-origin-height=&quot;421&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 엑셀 시트를 조회해본 결과 값이 바뀌지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;save를 하지 않았기 때문이다. 코드를 입력하여 파이썬 상으로 값이 수정이 되어도 save를 누르지 않으면 엑셀 시트를 열어봤을 때 값이 변하지 않는다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;335&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bILBF9/btsJxXzpPYZ/jQk5aYKigasqdtvkHvykh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bILBF9/btsJxXzpPYZ/jQk5aYKigasqdtvkHvykh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bILBF9/btsJxXzpPYZ/jQk5aYKigasqdtvkHvykh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbILBF9%2FbtsJxXzpPYZ%2FjQk5aYKigasqdtvkHvykh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;335&quot; height=&quot;52&quot; data-origin-width=&quot;335&quot; data-origin-height=&quot;52&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;따라서 save를 반드시 해줘야 한다.&lt;/b&gt; 세이브는 기존에 작업했던 엑셀 시트 명을 그대로 사용해도 좋지만, 새로운 엑셀시트명을 입력하여, 새로 파일을 만들 수도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;506&quot; data-origin-height=&quot;282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yg5ck/btsJxYd2CEE/p93hmnN0lNFUF0iZoiZqW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yg5ck/btsJxYd2CEE/p93hmnN0lNFUF0iZoiZqW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yg5ck/btsJxYd2CEE/p93hmnN0lNFUF0iZoiZqW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fyg5ck%2FbtsJxYd2CEE%2Fp93hmnN0lNFUF0iZoiZqW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;506&quot; height=&quot;282&quot; data-origin-width=&quot;506&quot; data-origin-height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장을 하고 다시 엑셀 시트를 열어본 결과, 올바르게 값이 저장됨을 확인할 수 있다.&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 로그/Python</category>
      <category>Openpyxl</category>
      <category>엑셀파이썬</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/12</guid>
      <comments>https://hyeonseokrkr.tistory.com/12#entry12comment</comments>
      <pubDate>Wed, 11 Sep 2024 18:43:47 +0900</pubDate>
    </item>
    <item>
      <title>[실습] 워드 클라우드</title>
      <link>https://hyeonseokrkr.tistory.com/11</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;학습 목표: 텍스트 파일의 문자를 재가공하여, 워드클라우드 형태의 이미지를 출력할 수 있다.&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;download.png&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;225&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xFUjm/btsJx5YsbeM/blasJKCh49TXqt47FwFGlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xFUjm/btsJx5YsbeM/blasJKCh49TXqt47FwFGlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xFUjm/btsJx5YsbeM/blasJKCh49TXqt47FwFGlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxFUjm%2FbtsJx5YsbeM%2FblasJKCh49TXqt47FwFGlk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;225&quot; height=&quot;225&quot; data-filename=&quot;download.png&quot; data-origin-width=&quot;225&quot; data-origin-height=&quot;225&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;오늘 다뤄볼 주제는 파이썬을 이용한 워드 클라우드 만들기이다. 워드 클라우드란, 위 그림과 같이 단어의 빈도수에 비례하여, 해당 단어를 좀 더 큰 글씨로 시각화해주는 것이다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 데이터 전처리&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;402&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N6l7V/btsJzMwdffT/KItx8VzIlbE9xc1k6NSTw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N6l7V/btsJzMwdffT/KItx8VzIlbE9xc1k6NSTw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N6l7V/btsJzMwdffT/KItx8VzIlbE9xc1k6NSTw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN6l7V%2FbtsJzMwdffT%2FKItx8VzIlbE9xc1k6NSTw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1130&quot; height=&quot;402&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;402&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 마틴 루터킹 목사의 연설문으로 워드 크라우드 실습이 진행된다. 연설문은 &quot;Dream.txt&quot;라는 파일에 저장되어 있다. 텍스트 전처리를 위해 해당 파일을 읽기 모드로 접근한다. 그리고, text라는 변수에 파일을 읽은 값을 반환하고, 파일을 닫는다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반환이 잘 되었는 지 확인하기 위해 0부터 99까지의 인덱스의 글자의 출력을 확인해본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. Split() 메서드를 이용하여 공백 단위로 단어 자르기.&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;793&quot; data-origin-height=&quot;207&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cck5j1/btsJx2gkPk3/0B0Tbg0bwtWtKeUr3X0oh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cck5j1/btsJx2gkPk3/0B0Tbg0bwtWtKeUr3X0oh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cck5j1/btsJx2gkPk3/0B0Tbg0bwtWtKeUr3X0oh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcck5j1%2FbtsJx2gkPk3%2F0B0Tbg0bwtWtKeUr3X0oh0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;793&quot; height=&quot;207&quot; data-origin-width=&quot;793&quot; data-origin-height=&quot;207&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서 배운 split() 메서드를 이용해서, 공백을 비록한&lt;b&gt; white space를 없애는 작업&lt;/b&gt;을 한다. &lt;b&gt;white space란 공백, 줄바꿈, 탭과 같은 것들을 의미한다. 그리고 해당 값을 wordList라는 변수에 넣는다. 10개 정도 출력을 해 보면, white space가 제거되어, 단어가 wordList 리스트 안에 잘 들어가 있는 것을 확인할 수 있다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 중복 제거, 딕셔너리 생성(&quot;단어&quot; : &quot;빈도수&quot;)&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;641&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lgADl/btsJzPfp17t/um64B0MAiU0Ka2ORrRfHR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lgADl/btsJzPfp17t/um64B0MAiU0Ka2ORrRfHR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lgADl/btsJzPfp17t/um64B0MAiU0Ka2ORrRfHR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlgADl%2FbtsJzPfp17t%2Fum64B0MAiU0Ka2ORrRfHR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;827&quot; height=&quot;641&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;641&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다음은 중복 제거이다. worduniq에 wordList를 set형식으로 변환하여 넣는다. set()은 집합으로 형을 변환시켜주는데, 이를 통해서 중복을 제거할 수 있다.&lt;/b&gt; 물론 해당 집합을 list()를 이용하여 형 변환 시킬 수 있다. 그러나, 집합도 리스트와 같이 iterable한 자료형이기 때문에, 일단, 집합 자료형 그대로 두도록 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다음으로는 wordCount라는 딕셔너리를 선언하고, worduniq의 모든 요소를 순회한다. 다만 wordCount[w], 즉 value는 wordList에서 w값의 count값, 즉 빈도수로 입력된다. 그렇게 되면 wordCount는 &quot;단어 : 빈도수&quot;형태로 저장되게 된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 제외 대상을 입력하는 것인데, 일반적으로 연설문에서 언어에서 자주 쓰이는 조사, 관사, 대명사, 비동사와 같은 것은 중요도가 떨어진다. 따라서, 이것들을 제외하고 워드 클라우드를 출력하려고 한다. 제거하고자 하는 대상을 del_word라는 변수에 리스트 값으로 넣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그리고 반복분을 통해서 이를 제거하는데, &quot;제거대상 목록에서 단어를 모두 순회하는데, 만약 이것이 wordCount 에 있는 단어라면, wordCount에 해당 key와 value를 제거한다.&quot;의 코드를 작성하면 된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 워드 클라우드 출력&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1KYFy/btsJyijj5GM/k5ASChK2bKgdBTsaU0nqtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1KYFy/btsJyijj5GM/k5ASChK2bKgdBTsaU0nqtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1KYFy/btsJyijj5GM/k5ASChK2bKgdBTsaU0nqtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1KYFy%2FbtsJyijj5GM%2Fk5ASChK2bKgdBTsaU0nqtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;887&quot; height=&quot;308&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;308&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 워드 클라우드 출력이다. 워드클라우드를 출력하기 위해서 matplotlib.pyplot 라이브러리와 wordCloud 라이브러리를 import한다. 아래 코드는 파일의 해상도를 나타내는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;그 다음은 워드 클라우드라는 변수 안에 폰트, 가로 너비, 세로 길이, 배경색과 관련한 값을 넣고, 이를 '()'으로 감싸고 generate_from_frequencies(dict) 메서드를 사용한다. 이는 딕셔너리의 값만 받는다. key에 대한 value값을 계산하여 단어의 크기를 빈도수에 비례하게 만들어준다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 마지막으로 출력인데,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플롯의 크기를 설정하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;워드 클라우드를 나타내고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;축을 제거하고&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 자리의 공백을 제거하고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그린 그래프를 화면에 출력하도록 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5. 워드 클라우드 출력결과&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;download.png&quot; data-origin-width=&quot;2440&quot; data-origin-height=&quot;1239&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z0YnF/btsJzRRLVGP/lcdvFtbCM5Yyp3bNtMBJbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z0YnF/btsJzRRLVGP/lcdvFtbCM5Yyp3bNtMBJbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z0YnF/btsJzRRLVGP/lcdvFtbCM5Yyp3bNtMBJbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz0YnF%2FbtsJzRRLVGP%2FlcdvFtbCM5Yyp3bNtMBJbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2440&quot; height=&quot;1239&quot; data-filename=&quot;download.png&quot; data-origin-width=&quot;2440&quot; data-origin-height=&quot;1239&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;워드 클라우드 출력 결과이다. &quot;We, have, will, as, in, our, with, soem, at, 등&quot;과 같은 요소도 del_List에 넣어서 시각화하면, 좀 더 연설문에서 강조하는 부분이 가시화 될 것으로 보여진다.&lt;/p&gt;</description>
      <category>개발자 로그/Python</category>
      <category>워드 클라우드</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/11</guid>
      <comments>https://hyeonseokrkr.tistory.com/11#entry11comment</comments>
      <pubDate>Wed, 11 Sep 2024 18:18:50 +0900</pubDate>
    </item>
    <item>
      <title>정규표현식</title>
      <link>https://hyeonseokrkr.tistory.com/10</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Keyword: 정규표현식이란, 정규표현식의 유용성&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 정규표현식이란&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;regex.png&quot; data-origin-width=&quot;699&quot; data-origin-height=&quot;315&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIJXI6/btsJyGQl5rA/odDmPKhv7lvPt56bgfWPWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIJXI6/btsJyGQl5rA/odDmPKhv7lvPt56bgfWPWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIJXI6/btsJyGQl5rA/odDmPKhv7lvPt56bgfWPWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIJXI6%2FbtsJyGQl5rA%2FodDmPKhv7lvPt56bgfWPWK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;699&quot; height=&quot;315&quot; data-filename=&quot;regex.png&quot; data-origin-width=&quot;699&quot; data-origin-height=&quot;315&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정규표현식은 파이썬뿐만의 기능은 아니다. 문자열을 다루는 여러 곳에서 사용되는 공통적인 표현식이다. 기호가 다소 복잡하여 이해하기 어려울 수 있지만, 어떠한 일련의 문자열을 패턴화해서 사용하기 매우 유용한 방법이다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 정규표현식의 유용성&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1007&quot; data-origin-height=&quot;103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1wj3F/btsJwX0cCEF/pqpphGoRMjvqwigB5S9CfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1wj3F/btsJwX0cCEF/pqpphGoRMjvqwigB5S9CfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1wj3F/btsJwX0cCEF/pqpphGoRMjvqwigB5S9CfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1wj3F%2FbtsJwX0cCEF%2FpqpphGoRMjvqwigB5S9CfK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1007&quot; height=&quot;103&quot; data-origin-width=&quot;1007&quot; data-origin-height=&quot;103&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1248&quot; data-origin-height=&quot;477&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5gANr/btsJwNRgwpH/k5PqXmLDrSVf26rKBGuI90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5gANr/btsJwNRgwpH/k5PqXmLDrSVf26rKBGuI90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5gANr/btsJwNRgwpH/k5PqXmLDrSVf26rKBGuI90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5gANr%2FbtsJwNRgwpH%2Fk5PqXmLDrSVf26rKBGuI90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1248&quot; height=&quot;477&quot; data-origin-width=&quot;1248&quot; data-origin-height=&quot;477&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 정규표현식이 왜 유용한가에서 살펴보도록 하자. 위를 보면 peoples라는 변수에 '이름 : 전화번호'의 형식으로 연속된 정보 3개가 저장되어 있는 것을 확인할 수 있다. 이 문자열의 각 사람의 전화번호 끝 4자리를 XXXX형식으로 변경하고자 한다. 그러기 위해서는 리스트를 하나 만들고, 리스트를 공백으로 쪼개고, 쪼객 문자열이 13자이고(전화번호형식)이고, 인덱스 0에서 2번까지, 4에서 7번까지 9에서 12까지가 숫자 형식이면, 앞의 8자리를 그대로 슬라이싱하고, '-XXXX'의 문자열과 합치고, 이를 phone_x에 append한다. 그리고, peoples_new라는 변수를 선언하여 공백을 기준으로 phone_x의 값을 join하고 print한다. 굉장히 복잡한 과정임을 알 수 있다. 참고로 if문과 대비되는 else문은 '이름:'을 append할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;587&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbvrb6/btsJxXZoLmq/msKcjIp54WtiCWl3qAv7g1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbvrb6/btsJxXZoLmq/msKcjIp54WtiCWl3qAv7g1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbvrb6/btsJxXZoLmq/msKcjIp54WtiCWl3qAv7g1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdbvrb6%2FbtsJxXZoLmq%2FmsKcjIp54WtiCWl3qAv7g1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;867&quot; height=&quot;587&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;587&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;정규표현식을 사용하기 위해서는 re를 import해야 한다. 그리고 re의 sub함수를 사용한다. 함수 인자 안에는 &quot;기존 문자열의 패턴, 바꿀 문자열의 패턴,&amp;nbsp; 문자열'이 들어간다.&lt;/b&gt;&lt;/u&gt; 위 정규 표현식으로 해석하자면, r은 ' '(작은 따옴표)안에 있는 것들이 정규 표현식이라는 것을 나타내는 것이다. f-string에서 문자열 밖에 f를 하는 것과 같은 역할이다. 작은 따옴표 안에서는 괄호를 통해서 그룹화를 진행하고, 해당 그룹에 있는 값은 &quot;d(십진수) {3} 3자리[-]하이픈 1개\그리고 d{4} (십진수 4자리)&quot;라는 의미이고, 소괄호 밖에는 &quot;[-]하이픈 1개 d{4}십진수 4자리&quot;라는 의미이다. 즉 먼저 문자열의 패턴을 입력하고, 이것을 어떻게 처리할 것인가에 대해서 입력한다. r은 역시 정규 표현식임을 나타내는 표현이고, ' ' 안에 g&amp;lt;1&amp;gt;은 앞서 소괄호로 묶은 그룹 첫번째를 의미하고, -XXXX는&amp;nbsp; [-]d{4}가 대치될 형식이다. 그리고 마지막에 문자열을 입력하면 된다. 정규 표현식으로 지정한 방식으로 문자열과 매칭이 되어, 사용자가 지정한 형식으로 출력이 되게 된다. 위 출력을 보면 각 전화번호 끝자리가 'XXXX'처리 된 것을 확인할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;아래 셀의 경우, 문자열의 일련의 패턴을 re.compile()함수에 넣어 값을 pat 변수에 입력한다. 이는 미리 정규표현식을 컴파일하여 변수에 넣어 여러번 사용할 때 유용하게 사용된다.&lt;/b&gt;&lt;/u&gt; 그리고, 이를 sub 함수에 넣고 정규 표현식&amp;nbsp; 형식으로 사용한다. 이때는 기존 문자열의 정규 표현식 패턴을 인자로 입력하지 않아도 된다.&amp;nbsp;&lt;/p&gt;</description>
      <category>개발자 로그/Python</category>
      <category>정규표현식의 유용성</category>
      <category>정규표현식이란</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/10</guid>
      <comments>https://hyeonseokrkr.tistory.com/10#entry10comment</comments>
      <pubDate>Tue, 10 Sep 2024 19:42:49 +0900</pubDate>
    </item>
    <item>
      <title>함수</title>
      <link>https://hyeonseokrkr.tistory.com/9</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Keyword : 함수의 형태, 매개변수, 가변인수, isinstance()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 함수의 형태&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;417&quot; data-origin-height=&quot;297&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkBQ6C/btsJwWAngEm/Vo6PWtx7wJuqCYFJRnqp8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkBQ6C/btsJwWAngEm/Vo6PWtx7wJuqCYFJRnqp8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkBQ6C/btsJwWAngEm/Vo6PWtx7wJuqCYFJRnqp8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkBQ6C%2FbtsJwWAngEm%2FVo6PWtx7wJuqCYFJRnqp8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;417&quot; height=&quot;297&quot; data-origin-width=&quot;417&quot; data-origin-height=&quot;297&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;u&gt;함수의 형태에 대해서 알아보자. 함수의 형태는 크게, 입력, 처리, 출력으로 구성되어 있다.&lt;/u&gt;&lt;/b&gt; 입력은 일반적으로 '()' 안에 매개변수를 입력하는 과정이다. 이는 생략이 가능하다. 두 번째는 처리이다. 이는 statement로 구성되어 있는데, 어떠한 동작을 처리한다. 마지막으로는 출력이다. 앞서 처리된 것에 의해서 어떠한 출력을 할 것인가에 대해서 다룬다. 이는 생략이 가능하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 매개변수&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3ublI/btsJyACIgXE/YTGtJYUHah9CdLML9kWCY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3ublI/btsJyACIgXE/YTGtJYUHah9CdLML9kWCY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3ublI/btsJyACIgXE/YTGtJYUHah9CdLML9kWCY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3ublI%2FbtsJyACIgXE%2FYTGtJYUHah9CdLML9kWCY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;762&quot; height=&quot;392&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;매개는 어떤것과 어떤 것을 연결 짓는다는 의미이다. 함수에서는 매개 변수를 통해서, 함수 외에서 선언된 어떤 값을 함수 안으로 불러들인다.&lt;/b&gt;&lt;/u&gt; 위 예시를 보면, hello(name)이라는 함수를 정의하고, 사용자가 입력한 name에 해당하는 매개변수를 이용하여, 인사문을 print하게 되는 것을 알 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 가변인수&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CYUJq/btsJxW7fXzO/87eXJ2kVCVVehtrDVoKea1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CYUJq/btsJxW7fXzO/87eXJ2kVCVVehtrDVoKea1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CYUJq/btsJxW7fXzO/87eXJ2kVCVVehtrDVoKea1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCYUJq%2FbtsJxW7fXzO%2F87eXJ2kVCVVehtrDVoKea1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1043&quot; height=&quot;462&quot; data-origin-width=&quot;1043&quot; data-origin-height=&quot;462&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;가변 인수는 말 그대로, 변할 수 있는 인수이다. 즉, 인수 값에 들어가야 할 인수 개수가 정함이 없고, 사용자의 입력에 따라서, 달라질 수 있다는 것이다. 가변인수를 표현하는 것은 변수 앞에 '*'를 입력하면 된다.&lt;/b&gt; &lt;/u&gt;위와 같은 경우 *args로 가변 인자를 표현한 것을 볼 수 있다. 그리고 hello('홍길동', '일지매', '강우동')이 입력되었는데, 후에 이 값이 하나 하나씩 함수 안에 print문 안에 지정된 위치로 들어가 print된 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.isinstance()&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;643&quot; data-origin-height=&quot;288&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chpEgL/btsJwL6X6jP/UwF3xRtT6vFkIRVKKuc6V0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chpEgL/btsJwL6X6jP/UwF3xRtT6vFkIRVKKuc6V0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chpEgL/btsJwL6X6jP/UwF3xRtT6vFkIRVKKuc6V0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchpEgL%2FbtsJwL6X6jP%2FUwF3xRtT6vFkIRVKKuc6V0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;643&quot; height=&quot;288&quot; data-origin-width=&quot;643&quot; data-origin-height=&quot;288&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;이번에 다루볼 것은 isinstance(x,y)함수이다. instance는 객체지향 프로그래밍 언어에서 class 속성을 가진 것을 의미한다. isinstance(x,y)함수는 x라는 값이 y의 인스턴스인지 여부를 판단하는 함수이다.&lt;/b&gt; &lt;/u&gt;만약에 x가 y의 인스턴스라면 True를 그렇지 않으면 False를 반환하게 된다. 위 예시를 살펴보면, 리스트 자료형인 a가 있는데, 그 아래에서 isinstance()함수를 이용하여, 튜플 자료형인지, 리스트 자료형인지 판별하여 프린트하도록 구성되어 있다. tuple인가를 묻는 print문에서는 False를, list인가를 묻는 print문에서는 True가 반환된 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5. LEGB 규칙&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;LEGB 규칙은 변수를 다루는 범위(scope)와 관련된 기준이다. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.Local(L): 로컬 범위는 함수 내부에서 정의된 변수이다. 함수가 호출될 때 생성되며 함수가 종료되면 사라진다. 함수 안에서는 로컬 변수가 우선으로 참조된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Enclosing(E): 둘러싸는 범위가 중첩된 함수의 경우, 내부 함수에서 외부 함수로 거슬러 올라가며 찾는 변수를 의미한다. 내부 함수에서 변수를 참조할 때, 그 함수가 내부 함수에 없으면 외부 함수의 변수를 찾는다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. Global(G): 글로벌 범위는 파일 수준에서 정의된 변수이다. 파일 내 어디서든 접근할 수 있다. global 변수를 함수 내에서 그대로 받아서 사용하고자 하면, global 이하 변수명을 입력하면 된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. Built-in(B): 빌트인 함수는 파이썬 내장 함수를 의미한다. 예를 들면 print(), len()과 같은 함수가 있다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;</description>
      <category>개발자 로그/Python</category>
      <category>isinstance()</category>
      <category>legb 규칙</category>
      <category>가변인수</category>
      <category>매개변수</category>
      <category>함수의 형태</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/9</guid>
      <comments>https://hyeonseokrkr.tistory.com/9#entry9comment</comments>
      <pubDate>Tue, 10 Sep 2024 19:21:20 +0900</pubDate>
    </item>
    <item>
      <title>제어문(조건문, 반복문)</title>
      <link>https://hyeonseokrkr.tistory.com/8</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Keyword: if문, list에서의 사용되는 for문, enumerate() , while문, List Comprehention, input()&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. if문&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;493&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wewNi/btsJxgqChe0/Xf163xaaFKZHNJfsEuD0x0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wewNi/btsJxgqChe0/Xf163xaaFKZHNJfsEuD0x0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wewNi/btsJxgqChe0/Xf163xaaFKZHNJfsEuD0x0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwewNi%2FbtsJxgqChe0%2FXf163xaaFKZHNJfsEuD0x0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;612&quot; height=&quot;493&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;493&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;if의 영어 뜻은 &quot;만약 ~라면&quot;이다. 프로그래밍 언어에서 if문은, 어떠한 조건을 정의하고, 그것이 참일 경우에 특정 statement를 실행한다. 이것이 가장 단순한 조건문의 형식이다. 위 예시를 보면, my_score에 점수가 저장되고, 이것이 80이상이면, 10을 더하는 statement를 실행한다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;686&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2CmII/btsJvt509jK/pPPMgqQcXZCHSL72ZD3mK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2CmII/btsJvt509jK/pPPMgqQcXZCHSL72ZD3mK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2CmII/btsJvt509jK/pPPMgqQcXZCHSL72ZD3mK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2CmII%2FbtsJvt509jK%2FpPPMgqQcXZCHSL72ZD3mK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;602&quot; height=&quot;686&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;686&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;if~else문은 2가지 조건을 분기한다. 어떠한 조건이 참이거나 그것이 거짓일 때, 각각의 statement가 따로 선언되어 있다. 위 예시를 보면, my_score가 80 이상인 경우에는 pass(그냥 지나치는 것, 즉, 아무 일도 일어나지 않는다.), 그게 아니라면, my_result라는 변수에 'Fail'이라는 값을 저장하는 것이다. 위 같은 경우 my_score가 73이므로, else문의 statement가 실행된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2LXdR/btsJuTxmT2H/XGjKrwsGiCtDnKH9gAtdL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2LXdR/btsJuTxmT2H/XGjKrwsGiCtDnKH9gAtdL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2LXdR/btsJuTxmT2H/XGjKrwsGiCtDnKH9gAtdL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2LXdR%2FbtsJuTxmT2H%2FXGjKrwsGiCtDnKH9gAtdL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;218&quot; height=&quot;432&quot; data-origin-width=&quot;218&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다음은 가장 자주 쓰이는 if~elif~else문이다. 이는 if 단독문, if~else문에서 1~2개의 단순한 조건만을 사용했다면, 위와 같은 사용은 더 많은 조건에 따른 좀 더 섬세한 실행이 가능하다. 위와 같은 예제에서는 my_score의 점수에 따라 grade를 부여하는 코드이다.&lt;span style=&quot;color: #ee2323; background-color: #f6e199;&quot;&gt; 여기서 중요한 지점은 선행되는 조건문에 관해서는 이미 성립이 안되는 것이기 때문에 후차적으로 처리할 필요가 없다는 것이다. &lt;/span&gt;&lt;u&gt;예를 들어서는 어떠한 점수가 76점이라면, 이미 &quot;if my_score &amp;gt;=90&quot;과 &quot;elif my_score &amp;gt;= 80&quot;를 통과 했기 때문에, 그 아래에서 추가적으로 해당 케이스를 다룰 필요가 없다. 즉, &quot;elif my_score &amp;gt;= 70 and not my_score &amp;gt;= 80 and not my_score&amp;gt;80&quot;과 같이 작성할 필요가 없다는 것이다.&amp;nbsp;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. list에서 사용되는 for문&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;382&quot; data-origin-height=&quot;227&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btF6ZH/btsJvxt10Gl/DXQV6KyOFJ6PZnmBo5ypdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btF6ZH/btsJvxt10Gl/DXQV6KyOFJ6PZnmBo5ypdK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btF6ZH/btsJvxt10Gl/DXQV6KyOFJ6PZnmBo5ypdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtF6ZH%2FbtsJvxt10Gl%2FDXQV6KyOFJ6PZnmBo5ypdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;382&quot; height=&quot;227&quot; data-origin-width=&quot;382&quot; data-origin-height=&quot;227&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;for문은 반복문으로 사용자가 지정한 수만큼 반복하는 동작을 한다. 이를 리스트와 결합하면 굉장히 편리한데, 그것을 한번 다뤄보도록 하겠다. 위 예시에는 과일의 값들이 담겨있는 fruits라는 리스트가 있다. 이것을 for문을 이용하여, 하나씩 출력하는 것을 볼 수 있다.&lt;span style=&quot;color: #ee2323; background-color: #f6e199;&quot;&gt; i는 요소를 의미하고 fruits는 요소가 들어 있는 리스트를 의미한다. 즉, &quot;리스트 안에서 각 요소를 순회하면서&quot;라는 뜻을 가지고 있다.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. enumerate()&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blO4IY/btsJvff3evw/YoJsvs86QnzKLXe3x95oek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blO4IY/btsJvff3evw/YoJsvs86QnzKLXe3x95oek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blO4IY/btsJvff3evw/YoJsvs86QnzKLXe3x95oek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblO4IY%2FbtsJvff3evw%2FYoJsvs86QnzKLXe3x95oek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;518&quot; height=&quot;200&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;enumerate는 &quot;낱낱이 세다.&quot;라는 뜻이다. 이는 파이썬에서 딕셔너리에서 사용되는 함수 인데, 낱낱이, 즉, &lt;span style=&quot;color: #ee2323; background-color: #f6e199;&quot;&gt;index 번호와 value를 반환해주는 함수이다. &lt;u&gt;이를 for문과 결합하여 사용해보자. &quot;for idx, mem in enumerate(member_set):&quot; 이는, &quot;idx와 mem을 member_set을 낱낱이 순회하면서&quot; &lt;/u&gt;&lt;/span&gt;라는 뜻이다. 그리고 후에 프린트 문의 format을 통해서, 인덱스 번호 +1 와 value 값을 출력하는 것을 볼 수 있다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;*idx +1 이라고 작성한 이유는 인덱스가 컴퓨터 언어에서는 0부터 시작하기 때문에, 1부터 시작하는 index를 출력하기 위함이다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. List Comprehension&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;361&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eBCUEq/btsJu904LTI/mVlYYnSYLpvys2XXgkk8wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eBCUEq/btsJu904LTI/mVlYYnSYLpvys2XXgkk8wk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eBCUEq/btsJu904LTI/mVlYYnSYLpvys2XXgkk8wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeBCUEq%2FbtsJu904LTI%2FmVlYYnSYLpvys2XXgkk8wk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;361&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;361&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;List Comprehension를 직역하면 리스트 이해?이다. 이해보다는 리스트를 이렇게도 표현할 수 있다라고 해서 expression이라는 뜻이 더 잘 어울리는 듯하다. 일반적인 사용법을 살펴보면 &quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;[담을 요소를 이용한 값 for 요소 in 그룹 if 조건절]&lt;/span&gt; &quot;&lt;span style=&quot;color: #000000;&quot;&gt;이다. 위의 예시를 살펴보면, a라는 리스트는 score에 있는 요소를 가져 오는데, 음의 값이 아닌 것만 가져오는 것으로 표현되어 있다. 이것을 score1이라는 빈 리스트에 하나씩 순회하여 append 하는 코드를 볼 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. while문&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;747&quot; data-origin-height=&quot;471&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T17vS/btsJvcXUCks/G1ZOujlKfRGRBPKQNSumKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T17vS/btsJvcXUCks/G1ZOujlKfRGRBPKQNSumKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T17vS/btsJvcXUCks/G1ZOujlKfRGRBPKQNSumKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT17vS%2FbtsJvcXUCks%2FG1ZOujlKfRGRBPKQNSumKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;747&quot; height=&quot;471&quot; data-origin-width=&quot;747&quot; data-origin-height=&quot;471&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;무한 루프라는 말을 많이 들어봤을 것이다. 무한 루프의 대표격이 바로 while문이다. while문은 while 이하의 조건이 참일 경우, 무한히 루프를 순회한다. 따라서, while 조건문과 연관되어 있는 일련의 변수와 매개하여, 변수의 값을 변화시켜 후에 while문이 False를 바꾸어 반복이 중단하도록 구성된다. 또한 While에 True나 1(1은 프로그래밍 언어에서 True)를 while 앞에 적고, 특정 조건일 때, break를 통해서 while문이 중단되도록 한다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;위 예시를 살펴보자. While True로 무한루프를 먼저 생성하고, input()을 통해서 사용자로부터 숫자를 입력받는다. 그리고 &lt;span style=&quot;color: #ee2323; background-color: #f6e199;&quot;&gt;해당 숫자가&amp;nbsp; 숫자가 아니라면, continue함수를 사용하여, 아래 조건문을 통과하도록 한다. 만약 숫자가 아닌 값이 입력되면, while문 다시 처음으로 돌아오게 되는 것이다. &lt;/span&gt;결국 숫자가 입력될 때까지 while문이 끝나지 않으며, 숫자를 입력받으면 아래 포맷에 맞게 출력이 되고, 0을 입력하면 break로 while문을 탈출하게 된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5. input()&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;180&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A9wkb/btsJu8uhsBl/5rppvbLJvOGcwDp0hSC131/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A9wkb/btsJu8uhsBl/5rppvbLJvOGcwDp0hSC131/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A9wkb/btsJu8uhsBl/5rppvbLJvOGcwDp0hSC131/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA9wkb%2FbtsJu8uhsBl%2F5rppvbLJvOGcwDp0hSC131%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;180&quot; height=&quot;137&quot; data-origin-width=&quot;180&quot; data-origin-height=&quot;137&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;마지막으로 input()에 대해서 다루어보자. &lt;span style=&quot;color: #ee2323; background-color: #f6e199;&quot;&gt;input()은 사용자로부터 입력값을 받아 반환해주는 함수이다. input에서 가장 중요한 것은 input()으로 받는 모든 값은 'str'이라는 것이다. &lt;/span&gt;따라서, 만약에 숫자를 입력해서 일련의 계산을 하고 싶다면, int()나 float()와 같은 형변환을 통해서, 숫자 형식으로 바꾸어야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>개발자 로그/Python</category>
      <category>enumerate()</category>
      <category>IF문</category>
      <category>Input()</category>
      <category>list comprehention</category>
      <category>list에서의 사용되는 for문</category>
      <category>while문</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/8</guid>
      <comments>https://hyeonseokrkr.tistory.com/8#entry8comment</comments>
      <pubDate>Mon, 9 Sep 2024 21:24:40 +0900</pubDate>
    </item>
    <item>
      <title>딕셔너리(dictionary) 자료형</title>
      <link>https://hyeonseokrkr.tistory.com/7</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Keyword: 딕셔너리의 자료형,같은 key는 무시, 딕셔너리 변경 및 추가, keys(), values(), items(), get()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 딕셔너리 자료형&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;516&quot; data-origin-height=&quot;165&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csqO3F/btsJt2UUFdy/snmhA6E4BksmVg29RbS38K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csqO3F/btsJt2UUFdy/snmhA6E4BksmVg29RbS38K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csqO3F/btsJt2UUFdy/snmhA6E4BksmVg29RbS38K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsqO3F%2FbtsJt2UUFdy%2FsnmhA6E4BksmVg29RbS38K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;516&quot; height=&quot;165&quot; data-origin-width=&quot;516&quot; data-origin-height=&quot;165&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt;&lt;b&gt;딕셔너리(dictionary) 자료형은 이름에서와 같이 사전식으로 구성되어 있다. &quot;{key : value}&quot;의 형식으로 구성된다.&lt;/b&gt;&lt;/u&gt;&lt;/span&gt; (물론 괄호에 여러개의 key와 value가 들어갈 수 있다.)영단어 'love'(key)에 해당하는 뜻이 '사랑'(value)이므로, 이를 딕셔너리 형태로 표현한다면, {'love' : '사랑'}이라고 표현할 수 있다.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 예시를 살펴보면, 각 영단어(key)에 대응하는 한글 뜻(value)가 들어가 있는 것을 확인할 수 있다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 같은 Key는 무시&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;386&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAHoOM/btsJvcBVuFK/iooGfSoYqCqfK3q37rER1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAHoOM/btsJvcBVuFK/iooGfSoYqCqfK3q37rER1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAHoOM/btsJvcBVuFK/iooGfSoYqCqfK3q37rER1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAHoOM%2FbtsJvcBVuFK%2FiooGfSoYqCqfK3q37rER1k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;623&quot; height=&quot;386&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;386&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;딕셔너리 자료형은 key 값이 중복된다면, 하나만 남기고 나머지는 무시된다. 마지막에 등장한 key의 value가 남고, 이전에 나온 것은 무시된다.&lt;/b&gt; &lt;/u&gt;위의 예시를 살펴보면, '홍길동 :100' 과 '홍길동 : 95'로 중복된 key값이 등장하지만, 출력을 보면, 마지막에 등장한 '홍길동 : 95'만 남게 되는 것을 확인할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 딕셔너리 변경, 추가 및 삭제&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;776&quot; data-origin-height=&quot;731&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kubtg/btsJt8HCiOd/YJypqKMgIjgFdTysC3KfhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kubtg/btsJt8HCiOd/YJypqKMgIjgFdTysC3KfhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kubtg/btsJt8HCiOd/YJypqKMgIjgFdTysC3KfhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKubtg%2FbtsJt8HCiOd%2FYJypqKMgIjgFdTysC3KfhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;776&quot; height=&quot;731&quot; data-origin-width=&quot;776&quot; data-origin-height=&quot;731&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;딕셔너리 또한 리스트와 같이 mutable하다. 즉, 딕셔너리 요소를 변경할 수 있다는 것이다.&lt;/b&gt;&lt;/span&gt;&lt;/u&gt; 위의 예시를 살펴보자. &lt;b&gt;member['나이'] = 30으로, member안에 '나이' key에 대응되는 value 20이 30으로 변경되는 것으로 볼 수 있다.&lt;/b&gt; 만약에 dictionary에서 dict[key] = value를 입력할 때, &lt;b&gt;기존에 없는 key라면, key:value 형태로 새로 dictionary 자료형에 추가&lt;/b&gt;되는 것을 볼 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pPZ2O/btsJvqtccf1/NLfY7ySc2Y4LB5OLvreNVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pPZ2O/btsJvqtccf1/NLfY7ySc2Y4LB5OLvreNVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pPZ2O/btsJvqtccf1/NLfY7ySc2Y4LB5OLvreNVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpPZ2O%2FbtsJvqtccf1%2FNLfY7ySc2Y4LB5OLvreNVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;606&quot; height=&quot;422&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;삭제는 만국공통이다. &quot;del dictionary[key]&quot;의형식으로 지정한 요소를 삭제할수 있다. 위 예시를 살펴보면 member라는 딕셔너리가 선언되어 있고, del로 member의 '나이' key를 이용해서 해당 key와 value를 삭제한 것을 확인할 수 있다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. keys(), values(), items(), get()&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;417&quot; data-origin-height=&quot;258&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wseiK/btsJvqUfEX6/W0HmUereY2caPDZoAzQhf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wseiK/btsJvqUfEX6/W0HmUereY2caPDZoAzQhf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wseiK/btsJvqUfEX6/W0HmUereY2caPDZoAzQhf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwseiK%2FbtsJvqUfEX6%2FW0HmUereY2caPDZoAzQhf1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;417&quot; height=&quot;258&quot; data-origin-width=&quot;417&quot; data-origin-height=&quot;258&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;keys()는 딕셔너리에 있는 key들을 모두 보여주는 메서드이다.&amp;nbsp; 위 예시의 출력을 보면 dict_keys()의 [] 안에 key들이 출력되는 것을 확인할 수 있다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;422&quot; data-origin-height=&quot;216&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfwZCC/btsJuHPXuPY/SXRHGI1APlUomsENxDAq5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfwZCC/btsJuHPXuPY/SXRHGI1APlUomsENxDAq5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfwZCC/btsJuHPXuPY/SXRHGI1APlUomsENxDAq5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfwZCC%2FbtsJuHPXuPY%2FSXRHGI1APlUomsENxDAq5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;422&quot; height=&quot;216&quot; data-origin-width=&quot;422&quot; data-origin-height=&quot;216&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;values()는딕셔너리에 있는 value들을 모두 보여주는 메서드이다. 위 예시의 &lt;b&gt;출력을 보면 dict_values()의 [] 안에 value들이 출력되는 것을 확인할 수 있다.&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;247&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yHevP/btsJtGkbWIb/RTe24fOnciwrDuUTtsbIMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yHevP/btsJtGkbWIb/RTe24fOnciwrDuUTtsbIMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yHevP/btsJtGkbWIb/RTe24fOnciwrDuUTtsbIMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyHevP%2FbtsJtGkbWIb%2FRTe24fOnciwrDuUTtsbIMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;557&quot; height=&quot;247&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;247&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;items()는딕셔너리에 있는 key와 value들을 모두 보여주는 메서드이다. 위 예시의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;출력을 보면 dict_items()의 [] 안에 각각의 key와 value들이 출력되는 것을 확인할 수 있다.&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;332&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vlGPL/btsJvlFpobf/FdMoGNIjAb5uuw8vM4ay11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vlGPL/btsJvlFpobf/FdMoGNIjAb5uuw8vM4ay11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vlGPL/btsJvlFpobf/FdMoGNIjAb5uuw8vM4ay11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvlGPL%2FbtsJvlFpobf%2FFdMoGNIjAb5uuw8vM4ay11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;482&quot; height=&quot;332&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;332&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;get()은 key를 이용해 value를 찾을 수 있는 메서드이다. 위의 예시에서 보면, member라는 딕셔너리에 '이름' key에 대응되는 value인 '홍길동'을 반환해주는 것을 확인할 수 있다.&amp;nbsp;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;647&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTghU7/btsJugFm0Tj/AoBXjA19dWfdFD6J0Ekk90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTghU7/btsJugFm0Tj/AoBXjA19dWfdFD6J0Ekk90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTghU7/btsJugFm0Tj/AoBXjA19dWfdFD6J0Ekk90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTghU7%2FbtsJugFm0Tj%2FAoBXjA19dWfdFD6J0Ekk90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;647&quot; height=&quot;163&quot; data-origin-width=&quot;647&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;583&quot; data-origin-height=&quot;231&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/daXblz/btsJveT38bs/mSEGcLvqR0yRAxjXiaWtdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/daXblz/btsJveT38bs/mSEGcLvqR0yRAxjXiaWtdK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/daXblz/btsJveT38bs/mSEGcLvqR0yRAxjXiaWtdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdaXblz%2FbtsJveT38bs%2FmSEGcLvqR0yRAxjXiaWtdK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;583&quot; height=&quot;231&quot; data-origin-width=&quot;583&quot; data-origin-height=&quot;231&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;u&gt;만약에 get() 메서드를 통해서, 실제 딕셔너리 안에 해당하는 키가 없다면, 기본적으로 무시가 된다. 만약에 get(key, ' 사용자 지정 입력')으로 사용하게 되면, 해당 키가 없는 경우에는 사용자 지정의 출력이 나오게 된다.&lt;/u&gt; 첫 번째 사진을 보면, member.get('이메일', '없음')으로 '이메일'이라는 key가 없기에 사용자가 미리 지정한 '없음'이 출력되는 것을 확인할 수 있다.&amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/p&gt;</description>
      <category>개발자 로그/Python</category>
      <category>get()</category>
      <category>items()</category>
      <category>keys()</category>
      <category>values()</category>
      <category>같은 key는 무시</category>
      <category>딕셔너리 변경 및 추가</category>
      <category>딕셔너리의 자료형</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/7</guid>
      <comments>https://hyeonseokrkr.tistory.com/7#entry7comment</comments>
      <pubDate>Fri, 6 Sep 2024 22:33:29 +0900</pubDate>
    </item>
    <item>
      <title>집합(set) 자료형</title>
      <link>https://hyeonseokrkr.tistory.com/6</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Keyword: 중복 X,&amp;nbsp; 인덱싱과 슬라이싱 불가&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 중복 x&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;545&quot; data-origin-height=&quot;340&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnyHSC/btsJtu5qMgZ/iWi3l10IwsPc8SaqxGtJaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnyHSC/btsJtu5qMgZ/iWi3l10IwsPc8SaqxGtJaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnyHSC/btsJtu5qMgZ/iWi3l10IwsPc8SaqxGtJaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnyHSC%2FbtsJtu5qMgZ%2FiWi3l10IwsPc8SaqxGtJaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;545&quot; height=&quot;340&quot; data-origin-width=&quot;545&quot; data-origin-height=&quot;340&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;오늘 살펴볼 자료형은 집합(set)이다. 파이썬에서 중요하게 다뤄지는 자료형은 아니라, 간단하게만 다뤄보도록 하자. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt;집합 자료형의 가장 큰 특징은 중복을 허용하지 않는다는 것이다. 따라서, 중복된 요소가 자동으로 제거된다.&lt;/u&gt; &lt;/span&gt;이러한 특징을 살려서, 만약에 리스트 자료형에 중복값이 있다면, 이를 잠시 집합으로 변경하여, 다시 리스트로 변경하는 방식을 사용하면, 중복값을 손쉽게 정리할 수 있다. 위 예시를 살펴보면, 리스트 안에 '홍길동'이라는 값이 중복된 것을 볼 수 있다. 이를 set함수를 사용하여, 중복값을 제거한 것을 볼 수 있다. 후에 list()로 set을 list 자료형으로 변경하면, list 요소 중복값 제거가 가능하다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고로 튜플 자료형 역시 집합(set)으로 변경이 가능하다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 인덱싱과 슬라이싱 불가&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzs1TJ/btsJvxFNToZ/WI79sSskhd3NfYKFuilcw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzs1TJ/btsJvxFNToZ/WI79sSskhd3NfYKFuilcw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzs1TJ/btsJvxFNToZ/WI79sSskhd3NfYKFuilcw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdzs1TJ%2FbtsJvxFNToZ%2FWI79sSskhd3NfYKFuilcw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;531&quot; height=&quot;250&quot; data-origin-width=&quot;531&quot; data-origin-height=&quot;250&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;집합 자료형의 또 다른 특징 중 하나가 인덱싱과 슬라이싱이 불가하다는 것이다. 집합 자료형은 unordered(순서가 정해져있지 않는) 자료형이다&lt;/span&gt;.&lt;/u&gt; 즉, 코드를 입력하여, 순서 없이, set() 함수 인자 안에 값을 입력하더라도, 순서대로 정렬된다. 순서가 정해져 있기 때문에, 인덱싱 및 슬라이싱이 불가능하다. 자연스러운 이치이다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;위 예시는 집합의 원소를 하나 추가하는 예시인데, append()와 같이 끝에 원소가 추가되는 것이 아니다. &lt;u&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;집합(set) 자료형은unordered 자료형이기 때문에, 결국에는 순서대로 정렬되는 것을 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>개발자 로그/Python</category>
      <category>인덱싱과 슬라이싱 불가</category>
      <category>중복 x</category>
      <author>현 알트만</author>
      <guid isPermaLink="true">https://hyeonseokrkr.tistory.com/6</guid>
      <comments>https://hyeonseokrkr.tistory.com/6#entry6comment</comments>
      <pubDate>Fri, 6 Sep 2024 21:36:17 +0900</pubDate>
    </item>
  </channel>
</rss>