<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>eoblue</title>
        <link>https://velog.io/</link>
        <description>문과생(~2021) -&gt; 컴공(2022~), 멋사 10기 백엔드(2022~)</description>
        <lastBuildDate>Fri, 29 Jul 2022 05:08:47 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. eoblue. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/eoblue_22" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Python을 활용해 할 수 있는 여러 기능들]]></title>
            <link>https://velog.io/@eoblue_22/Python%EC%9C%BC%EB%A1%9C-%EC%9B%B9%ED%81%AC%EB%A1%A4%EB%A7%81%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@eoblue_22/Python%EC%9C%BC%EB%A1%9C-%EC%9B%B9%ED%81%AC%EB%A1%A4%EB%A7%81%ED%95%98%EA%B8%B0</guid>
            <pubDate>Fri, 29 Jul 2022 05:08:47 GMT</pubDate>
            <description><![CDATA[<h3 id="python을-활용해-할-수-있는-기능들을-몇가지-소개하겠습니다">python을 활용해 할 수 있는 기능들을 몇가지 소개하겠습니다.</h3>
<ol>
<li>웹크롤링</li>
</ol>
<ul>
<li>crawling(크롤링)이란?</li>
<li>웹사이트를 돌아다니며 contents를 수집하는 행위로, crawler(크롤러)라고 하는 봇을 이용합니다. 크롤링은 웹상의 위치를 찾는 것을 말하고, 그 위치의 데이터 중 필요한 데이터만 뽑아내는 것을 pharsing(파싱)이라고 합니다.
파싱은 주로 HTML, CSS 등으로 추출합니다.</li>
</ul>
<p>python에서는 requests와 beautifulsoup이라는 패키지로 웹크롤링을 쉽게 할 수 있습니다.
코드와 주석을 보면서 설명하겠습니다.</p>
<pre><code class="language-python">from bs4 import BeautifulSoup
import requests
#요청과 응답을 위한 request 패키지와
#웹크롤링을 위한 BeautifulSoup 패키지를 import

url = &quot;https://velog.io/&quot;
response = requests.get(url) #url 주소로 요청 보내고
soup = BeautifulSoup(response.text, &#39;html.parser&#39;) #BeautifulSoup라는 함수를 이용하여
#요청 받은 값을 특정 형식에 저장.
rank = 1

results = soup.findAll(&#39;h4&#39;)
#velog의 게시물 제목만 모으기 위해서 제목에 공통으로 들어간
#h4태그만을 results에 모두 저장

for result in results:
    print(&quot;velog&quot;, rank, &quot;번째 글 &quot;, result.get_text())
    rank+= 1</code></pre>
<p>2.API 사용</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Python 데이터 저장하기 - dictionary]]></title>
            <link>https://velog.io/@eoblue_22/Python-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0-dictionary</link>
            <guid>https://velog.io/@eoblue_22/Python-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0-dictionary</guid>
            <pubDate>Thu, 28 Jul 2022 05:56:11 GMT</pubDate>
            <description><![CDATA[<h3 id="dictionary를-이용해서-데이터를-2가지-방식으로-저장해보겠습니다">dictionary를 이용해서 데이터를 2가지 방식으로 저장해보겠습니다.</h3>
<p>1.
{&quot;취미는 무엇인가요?&quot; : &quot;테니스입니다&quot;
, &quot;특기는 무엇입니까&quot; : &quot;농구입니다&quot;}
이런 식으로 1개의 dictionary에 모든 데이터를 저장할 수도 있고</p>
<pre><code class="language-python">total_dictionary = {}

while True:
    question = input(&quot;질문을 입력해주세요 : &quot;)
    if question == &quot;q&quot;:
        break
    else:
        total_dictionary[question] = &quot;&quot;

for i in total_dictionary:
    print(i)
    answer = input(&quot;답변을 입력해주세요 : &quot;)
    total_dictionary[i] = answer
print(total_dictionary)</code></pre>
<p>2.[{&quot;질문&quot; : &quot;취미는 무엇입니까?&quot;, &quot;답변&quot; : &quot;테니스입니다&quot;}, 
{&quot;질문&quot; : &quot;특기는 무엇입니까?&quot;, &quot;답변&quot; : &quot;농구입니다&quot;}]
이렇게 dictionary를 list로 구성하는 방법도 있다.</p>
<pre><code class="language-python">total_list = []

while True:
    question = input(&quot;질문을 입력해주세요 : &quot;)
    if(question == &quot;q&quot;):
        break
    else:
        total_list.append({&quot;질문&quot; : question, &quot;답변&quot; : &quot;&quot;})

for i in total_list:
    print(i[&quot;질문&quot;])
    answer = input(&quot;답변을 입력해주세요 : &quot;)
    i[&quot;답변&quot;] = answer
print(total_list)
</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[Python 기본 문법으로 랜덤 영화 선택 프로그램 만들기]]></title>
            <link>https://velog.io/@eoblue_22/Python-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95%EC%9C%BC%EB%A1%9C-%EB%9E%9C%EB%8D%A4-%EC%98%81%ED%99%94-%EC%84%A0%ED%83%9D-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
            <guid>https://velog.io/@eoblue_22/Python-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95%EC%9C%BC%EB%A1%9C-%EB%9E%9C%EB%8D%A4-%EC%98%81%ED%99%94-%EC%84%A0%ED%83%9D-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EB%A7%8C%EB%93%A4%EA%B8%B0</guid>
            <pubDate>Thu, 28 Jul 2022 04:11:53 GMT</pubDate>
            <description><![CDATA[<h3 id="python-기본-문법-포스팅에서-배운-내용을-토대로-작은-프로그램을-만들어보겠습니다">python 기본 문법 포스팅에서 배운 내용을 토대로 작은 프로그램을 만들어보겠습니다.</h3>
<h3 id="현재-상영-중인-영화-중에-어떤-영화를-볼-지-랜덤으로-선택해주는-프로그램입니다">현재 상영 중인 영화 중에 어떤 영화를 볼 지 랜덤으로 선택해주는 프로그램입니다.</h3>
<h3 id="영화-목록을-추가할-수도-있고-삭제할-수도-있으며-추가와-삭제가-끝나면-목록-중에-하나를-랜덤으로-선택해주는-프로그램입니다">영화 목록을 추가할 수도 있고, 삭제할 수도 있으며, 추가와 삭제가 끝나면 목록 중에 하나를 랜덤으로 선택해주는 프로그램입니다.</h3>
<h3 id="주석을-통해-코드를-상세히-리뷰했습니다">주석을 통해 코드를 상세히 리뷰했습니다.</h3>
<pre><code class="language-python">import random #랜덤으로 뽑는 함수를 사용하기 위해 
import time #랜덤으로 뽑을 때 텀을 두기 위한 함수를 사용하기 위해

movie = [&quot;미니언즈2&quot;, &quot;헤어질 결심&quot;, &quot;탑건2&quot;]   #list

while True: #무한 루프
    print(movie)
    item = input(&quot;영화를 추가해주세요 : &quot;) #사용자로부터 입력받음
    if(item == &quot;q&quot;):    #q 입력시 영화 추가 종료
        break
    else:   #list에 추가할 때는 .append 함수 사용
        movie.append(item)

print(movie)
set_movie = set(movie)  #삭제 기능을 구현하기 위해 list -&gt; set으로 변환

while True:
    print(set_movie)
    item = input(&quot;영화를 삭제해주세요 : &quot;)
    if(item == &quot;q&quot;):
        break
    else:
        set_movie = set_movie - set([item]) 
        #차집합 연산은 집합끼리만 할 수 있는데, 입력은 문자열로 받았기 때문에
        #item 변수를 set으로 바꿔줌

print(set_movie, &quot;중에서 선택됩니다&quot;)

#5초를 세아림
print(&quot;5&quot;)
time.sleep(1)
print(&quot;4&quot;)
time.sleep(1)
print(&quot;3&quot;)
time.sleep(1)
print(&quot;2&quot;)
time.sleep(1)
print(&quot;1&quot;)
time.sleep(1)

#random.choice는 list 중에서 랜덤으로 뽑는 함수이므로
#set_movie를 list로 바꾼 후에 random.choice로 뽑음
print(random.choice(list(set_movie)))
</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/850bf0b1-a2f2-41b2-bfb5-a5dd59554a25/image.PNG" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Python 기본문법]]></title>
            <link>https://velog.io/@eoblue_22/Python-Dictionary</link>
            <guid>https://velog.io/@eoblue_22/Python-Dictionary</guid>
            <pubDate>Wed, 27 Jul 2022 15:50:56 GMT</pubDate>
            <description><![CDATA[<h3 id="대학-커리큘럼에서는-보통-c언어로-프로그래밍-언어를-접하는-경우가-많습니다-그러므로-c언어와-조금-다른-python-문법들만-다룰-예정입니다">대학 커리큘럼에서는 보통 c언어로 프로그래밍 언어를 접하는 경우가 많습니다. 그러므로 C언어와 조금 다른 Python 문법들만 다룰 예정입니다.</h3>
<p>#기본 자료형 - list와 dictionary</p>
<pre><code class="language-python">#list는 [] 대괄호로 표현합니다.
information_list = [&quot;대구, 서울, 부산&quot;]

#dictionary는 {} 중괄호로 표현합니다.
#key값 : value값 대응으로 표현합니다.
information_dictionary = {&quot;상호명&quot; : &quot;도리집&quot;, &quot;위치&quot; : &quot;경대북문&quot;, &quot;혼밥가능&quot; : &quot;yes&quot;}</code></pre>
<p>#반복문의 여러 형태</p>
<pre><code class="language-python">#list와 dictionary 출력
print(information_list)
print(information_dictionary)</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/53881536-f386-45e0-92ca-f1f862796841/image.PNG" alt="">
기본적으로 list와 dictionary를 출력하면 그대로 통째로 출력이 됩니다.
반복적으로 출력하고 싶을 때 python 역시 for문을 사용하는데, c언어와 형식이 조금 다릅니다.
c언어에서는 세미콜론(;)으로 문장을 구분하는 데 반해
python에서는 들여쓰기로 문장을 구분합니다.</p>
<pre><code class="language-python">for x in range(3):
    print(information_list)</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/2f7eb6aa-c622-4675-ba89-48270ba22469/image.PNG" alt="">
이런 식으로 범위(3번)을 정해서 반복할 수도 있지만</p>
<pre><code class="language-python">for x in information_list:
    print(x)</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/bb4612c5-f3a8-4fb1-a0e7-3ebaa903fb86/image.PNG" alt="">
python에서는 이렇게 list나 dictionary가 끝날 때까지 반복하는 것을 쉽게 명령할 수 있습니다.</p>
<p>다만 dictionary은 for문 사용이 조금 다릅니다.</p>
<pre><code class="language-python">for x, y in information_dictionary.items():
    print(x)
    print(y)</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/0861d27f-14d4-492f-acdc-676ce0ad54bb/image.PNG" alt="">
key값과 value값 두개를 출력해야 하므로 두 개의 변수 x,y가 필요합니다.</p>
<p>#dictionary 능숙하게 다루기
dictionary는 자주 쓰이는 자료형입니다.</p>
<pre><code class="language-python">val = {&quot;이름&quot; : &quot;김철수&quot;, &quot;성별&quot; : &quot;남&quot;}</code></pre>
<p>이런 식으로 대응 관계를 나타낼 때 유용하죠.</p>
<p>dictionary에 항목을 추가하고 싶을 때는 </p>
<pre><code class="language-python">val[사는곳] = &#39;청주&#39;</code></pre>
<p>이런 식으로 추가할 수 있고
(list에서는 val.append(&quot;청주&quot;) 이런식으로 함수로 추가)
+val[가족] = [&quot;엄마&quot;, &quot;아빠&quot;, &quot;동생&quot;] 이런 식으로 value 값을 list형식으로 추가할 수도 있습니다.</p>
<pre><code class="language-python">del a[사는곳]</code></pre>
<p>이런 식으로 삭제가 가능합니다.</p>
<p>또한 자주 쓰이는 dictionary함수로</p>
<pre><code class="language-python">val.get(&quot;사는곳&quot;)</code></pre>
<p>을 사용하면 value 값만 따로 뽑아낼 수 있습니다.</p>
<p>#집합
list의 경우에는 항목이 여러 개가 저장될 때, 중복된 항목을 구분하지 못합니다. 그런 경우에 수학에서 사용되는 집합을 python에서 그대로 사용 가능합니다.</p>
<pre><code class="language-python">local = [&quot;서울&quot;, &quot;부산&quot;, &quot;대구&quot;, &quot;서울&quot;]
local_set = set(local)
print(local)
print(local_set)</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/a1780ce6-50b1-46c3-9c07-4aa86917a268/image.PNG" alt="">
다음과 같이 집합으로 만들면, 중복된 항목은 제외하고 출력이 됩니다. + 또한 집합은 항목의 순서를 보장하지 않습니다.</p>
<p>이어서 집합의 여러 연산을 살펴보겠습니다.
-합집합</p>
<pre><code class="language-python">local1 = set([&quot;서울&quot;, &quot;부산&quot;, &quot;대구&quot;, &quot;서울&quot;])
local2 = set([&quot;서울&quot;, &quot;부산&quot;, &quot;경주&quot;, &quot;여수&quot;])
local3 = local1 | local2
print(local3)</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/9dc02368-306c-48ad-b361-bd744e98ab9f/image.PNG" alt="">
다음과 같이 중복된 항목은 1번만 입력이 됩니다.</p>
<p>-교집합</p>
<pre><code class="language-python">local1 = set([&quot;서울&quot;, &quot;부산&quot;, &quot;대구&quot;, &quot;서울&quot;])
local2 = set([&quot;서울&quot;, &quot;부산&quot;, &quot;경주&quot;, &quot;여수&quot;])
local3 = local1 &amp; local2
print(local3)</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/97291c51-1c35-4bf8-8622-a271f210d22c/image.PNG" alt="">
교집합 연산 역시 수학에서 배운 그대로입니다.</p>
<p>-차집합</p>
<pre><code class="language-python">local1 = set([&quot;서울&quot;, &quot;부산&quot;, &quot;대구&quot;, &quot;서울&quot;])
local2 = set([&quot;서울&quot;, &quot;부산&quot;, &quot;경주&quot;, &quot;여수&quot;])
local3 = local1 - local2
print(local3)</code></pre>
<p><img src="https://velog.velcdn.com/images/eoblue_22/post/8ef2097e-ae7c-4771-899a-148bb1291152/image.PNG" alt="">
#함수
함수는 c언어와 다소 유사합니다</p>
<pre><code class="language-python">def func1():
    print(&quot;함수입니다&quot;)

func1()</code></pre>
<p>이런 식으로 
def 함수이름(): 함수내용
으로 정의하고 사용하면 됩니다.</p>
<h3 id="그-외-문법들은-대부분--c언어와-유사하여-언급하지-않겠습니다">그 외 문법들은 대부분  c언어와 유사하여 언급하지 않겠습니다.</h3>
]]></description>
        </item>
    </channel>
</rss>