<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Study_Log</title>
    <link>https://universitylife.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sat, 6 Jun 2026 16:51:44 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>WorthLearner</managingEditor>
    <image>
      <title>Study_Log</title>
      <url>https://tistory1.daumcdn.net/tistory/6630164/attach/7200a6288fdf46df9d0def44b0798690</url>
      <link>https://universitylife.tistory.com</link>
    </image>
    <item>
      <title>파이썬 입력, 출력, 파일 처리 정리</title>
      <link>https://universitylife.tistory.com/154</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 사용자 입력(input)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬에서 사용자 입력은 매우 간단하다.&lt;/p&gt;
&lt;pre id=&quot;code_1777530258232&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;text = input()
print(text)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자가 입력한 값이 그대로 출력된다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;핵심&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input()은&amp;nbsp;&lt;b&gt;무조건 문자열로 받는다&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1777530293831&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;num = input()
print(type(num))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : &amp;lt;class 'str'&amp;gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;숫자로 사용하려면?&lt;/h4&gt;
&lt;pre id=&quot;code_1777530336503&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;num = int(input(&quot;숫자를 입력하세요: &quot;))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;형 변환이 필수이다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;프롬프트 메시지&lt;/h4&gt;
&lt;pre id=&quot;code_1777530361687&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;name = input(&quot;이름을 입력하세요: &quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ print 함수 이해하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;print는 단순 출력이 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;표현력의 핵심 도구&lt;/b&gt;이다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;기본 출력&lt;/h4&gt;
&lt;pre id=&quot;code_1777530413823&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(123)
print(&quot;Python&quot;)
print([1, 2, 3])&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;문자열 연결 방식&lt;/h4&gt;
&lt;pre id=&quot;code_1777530430959&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;life&quot; &quot;is&quot; &quot;too short&quot;)
print(&quot;life&quot; + &quot;is&quot; + &quot;too short&quot;)&lt;/code&gt;&lt;/pre&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;h4 data-ke-size=&quot;size20&quot;&gt;띄어쓰기&lt;/h4&gt;
&lt;pre id=&quot;code_1777530485975&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;life&quot;, &quot;is&quot;, &quot;too short&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : life is too short&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열 띄어쓰기는 콤마로 한다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;한 줄 출력&lt;/h4&gt;
&lt;pre id=&quot;code_1777530521879&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for i in range(5):
	print(i, end=&quot; &quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 0 1 2 3 4&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;end 옵션은 출력 포맷 제어의 핵심이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 파일이란 무엇인가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 &quot;화면에 출력&quot;만 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 실제 프로그램은&amp;nbsp;&lt;b&gt;데이터를 저장해야 한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 사용하는 것이 바로&amp;nbsp;&lt;b&gt;파일(File)&lt;/b&gt;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 파일 열기 (open)&lt;/h3&gt;
&lt;pre id=&quot;code_1777530625647&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;f = open(&quot;파일이름&quot;, &quot;모드&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;파일 모드&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;r = 읽기 모드&lt;/li&gt;
&lt;li&gt;w = 쓰기(기존 내용 삭제)&lt;/li&gt;
&lt;li&gt;a = 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;파일 생성 예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777530675143&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;f = open(&quot;test.txt&quot;, &quot;w&quot;)
f.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일이 생성된다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 파일에 쓰기&lt;/h3&gt;
&lt;pre id=&quot;code_1777530737751&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;f = open(&quot;test.txt&quot;, &quot;w&quot;)

for i in range(1, 6):
	data = f&quot;{i}번째 줄입니다.\n&quot;
    f.write(data)
    
f.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;print &amp;rarr; 화면 출력&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;write &amp;rarr; 파일 저장&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 파일 읽기 (3가지 방법)&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. readline (한 줄)&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1777530858416&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;f = open(&quot;test.txt&quot;, &quot;r&quot;)
line = f.readline()
print(line)
f.close()&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. readlines (리스트)&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1777530903303&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;f = open(&quot;test.txt&quot;, &quot;r&quot;)
lines = f.readlines()

for line in lines:
	print(line)
    
f.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 줄이 리스트 요소로 들어간다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. read (전체)&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1777530936839&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;f = open(&quot;test.txt&quot;, &quot;r&quot;)
data = f.read()
print(data)
f.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일 전체를 한 번에 읽는다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 파일에 내용 추가&lt;/h3&gt;
&lt;pre id=&quot;code_1777530973511&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;f = open(&quot;test.txt&quot;, &quot;a&quot;)

for i in range(6, 10):
	f.write(f&quot;{i}번째 줄입니다.\n&quot;)
    
f.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 내용 유지 + 뒤에 추가&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ with문&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일을 다루면서 가장 많이 쓰는 방식이다.&lt;/p&gt;
&lt;pre id=&quot;code_1777531028735&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;with open(&quot;test.txt&quot;, &quot;w&quot;) as f:
	f.write(&quot;Hello Python&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동으로 close 처리가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드가 훨씬 안전해진다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;왜 중요한가?&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일을 닫지 않으면 데이터 손실 / 오류 발생이 가능하다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 입력 vs 파일 입력&lt;/h3&gt;
&lt;pre id=&quot;code_1777531093455&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;data = input()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;키보드 입력&lt;/p&gt;
&lt;pre id=&quot;code_1777531107737&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;data = f.readline()&lt;/code&gt;&lt;/pre&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;&lt;b&gt;데이터를 어디서 가져오느냐의 차이&lt;/b&gt;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 흐름&lt;/h3&gt;
&lt;pre id=&quot;code_1777531153111&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;name = input(&quot;이름 입력: &quot;)

with open(&quot;user.txt&quot;, &quot;a&quot;) as f:
	f.write(name + &quot;\n&quot;)
    
print(&quot;저장 완료!&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력 &amp;rarr; 저장 &amp;rarr; 출력&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이게 프로그램의 기본 구조이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;input을 숫자로 착각&lt;/li&gt;
&lt;li&gt;파일 모드 헷갈림&lt;/li&gt;
&lt;li&gt;close 안 함&lt;/li&gt;
&lt;li&gt;줄바꿈(\n) 빼먹음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;input = 사용자 입력&lt;/li&gt;
&lt;li&gt;print = 화면 출력&lt;/li&gt;
&lt;li&gt;open = 파일 열기&lt;/li&gt;
&lt;li&gt;write = 파일 저장&lt;/li&gt;
&lt;li&gt;read = 파일 읽기&lt;/li&gt;
&lt;li&gt;with = 안전한 파일 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;입력 &amp;rarr; 처리 &amp;rarr; 출력 &amp;rarr; 저장&quot; 이 흐름이 프로그래밍이다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/154</guid>
      <comments>https://universitylife.tistory.com/154#entry154comment</comments>
      <pubDate>Thu, 30 Apr 2026 15:42:59 +0900</pubDate>
    </item>
    <item>
      <title>파이썬 함수 정리(def, return, 매개변수, lambda)</title>
      <link>https://universitylife.tistory.com/153</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 함수란 무엇인가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수는&amp;nbsp;&lt;b&gt;특정 기능을 수행하는 코드 묶음&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조금 더 쉽게 말하면 &quot;필요할 때마다 꺼내 쓰는 도구&quot;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 함수를 사용하는 이유&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수는 단순한 기능이 아니라&amp;nbsp;&lt;b&gt;코드를 구조적으로 설계하는 핵심 도구&lt;/b&gt;다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;왜 함수가 필요할까?&lt;/h4&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;p data-ke-size=&quot;size16&quot;&gt;쉽게 말하면&amp;nbsp;&lt;b&gt;&quot;자주 쓰는 코드를 묶어서 필요할 때 꺼내 쓰는 것&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 규모가 커질수록 &lt;b&gt;함수를 잘 쓰는 사람이 = 코드를 잘 짜는 사람이다&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;현실 비유&lt;/h4&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;b&gt;여러 함수가 연결되어 결과를 만들어낸다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 함수의 기본 구조&lt;/h3&gt;
&lt;pre id=&quot;code_1777526001135&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def 함수이름(매개변수):
	실행할 코드
    return 결과&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777525602367&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def add(a, b):
	return a + b
    
result = add(3, 4)
print(result)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 7&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;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;def = 함수 정의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;a, b = 입력값 받는 변수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;return = 결과 반환&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 매개변수 vs 인수&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;매개변수(parameter) &amp;rarr; 함수 정의할 때&lt;/li&gt;
&lt;li&gt;인수(argument) &amp;rarr; 함수 호출할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1777525712031&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def add(a, b): 	# a, b &amp;rarr; 매개변수
	return a + b
    
add(3, 4) 	# 3, 4 &amp;rarr; 인수&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&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;h4 data-ke-size=&quot;size20&quot;&gt;1. 입력O / 출력O (가장 일반적)&lt;/h4&gt;
&lt;pre id=&quot;code_1777526070015&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def add(a, b):
	return a + b&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 입력X / 출력O&lt;/h4&gt;
&lt;pre id=&quot;code_1777526096471&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def say():
	return &quot;Hi&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 입력O / 출력X&lt;/h4&gt;
&lt;pre id=&quot;code_1777526128727&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def add(a, b):
	print(a + b)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;print는 출력일 뿐, 반환값은 없다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. 입력X / 출력X&lt;/h4&gt;
&lt;pre id=&quot;code_1777526160280&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def say():
	print(&quot;Hi&quot;)&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;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ return의 진짜 의미&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 사람들이 return을 &quot;값 반환&quot; 정도로만 생각한다.&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;rarr;&amp;nbsp;&lt;b&gt;함수를 즉시 종료한다.&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777526306991&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def test():
	return 1
    return 2
    
print(test())&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 1&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;첫 번째 return에서 끝난다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 함수의 결과는 항상 하나다&lt;/h3&gt;
&lt;pre id=&quot;code_1777526355423&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def add_and_mul(a, b):
	return a + b, a * b&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과는 2개처럼 보이지만 실제로는&amp;nbsp;&lt;b&gt;튜플 하나&lt;/b&gt;이다.&lt;/p&gt;
&lt;pre id=&quot;code_1777526383847&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;result = add_and_mul(3, 4)
print(result) # (7, 12)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;여러 변수로 받기&lt;/h4&gt;
&lt;pre id=&quot;code_1777526401007&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;x, y = add_and_mul(3, 4)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 가변 인자(*args)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력값 개수를 모를 때 사용한다.&lt;/p&gt;
&lt;pre id=&quot;code_1777526454359&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def add_many(*args):
	result = 0
    for i in args: 
    	result += i
        
    return result&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;args는 튜플 형태로 묶인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;add_many(1, 2, 3) &amp;rarr; (1, 2, 3)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 기본값 매개변수(Default Parameter)&lt;/h3&gt;
&lt;pre id=&quot;code_1777526528558&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def introduce(name, age, gender=True):
	print(name, age, gender)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;사용&lt;/h4&gt;
&lt;pre id=&quot;code_1777526552521&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;introduce(&quot;철수&quot;, 20)
introduce(&quot;영희&quot;, 20, False)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;중요한 규칙&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본값은 반드시 뒤에 와야 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1777526580047&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 오류
def test(a=1, b):&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 변수의 범위(Scope)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함수 안과 밖은 완전히 다른 공간이다.&lt;/p&gt;
&lt;pre id=&quot;code_1777526698495&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = 1

def test(a):
	a = a + 1
    
test(a)
print(a)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 1&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;함수 안의 a는 별개이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 외부 변수 변경 방법&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;방법 1&lt;/h4&gt;
&lt;pre id=&quot;code_1777526752374&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def test(a):
	return a + 1

a = test(a)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;방법 2&lt;/h4&gt;
&lt;pre id=&quot;code_1777526777439&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def test():
	global a
	a += 1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;global은 가능하지만 유지보수에 불리하다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ lambda (한 줄 함수)&lt;/h3&gt;
&lt;pre id=&quot;code_1777526825191&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;add = lambda a, b: a + b&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단한 함수에 사용한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 함수 사용 예시&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;계산 함수&lt;/h4&gt;
&lt;pre id=&quot;code_1777526888638&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def total_price(price, count):
	return price * count&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;데이터 처리&lt;/h4&gt;
&lt;pre id=&quot;code_1777526904649&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def process(data):
	return [x * 2 for x in data]&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;b&gt;프로그램의 흐름을 구성하는 핵심 단위&lt;/b&gt;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;return 없이 값 기대하기&lt;/li&gt;
&lt;li&gt;global 남용&lt;/li&gt;
&lt;li&gt;함수 너무 길게 만들기&lt;/li&gt;
&lt;li&gt;하나의 함수에 여러 역할 넣기&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;/li&gt;
&lt;li&gt;return = 결과 반환 + 종료&lt;/li&gt;
&lt;li&gt;args = 여러 입력 처리&lt;/li&gt;
&lt;li&gt;scope = 변수 범위&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;함수는 프로그램을 설계하는 도구다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/153</guid>
      <comments>https://universitylife.tistory.com/153#entry153comment</comments>
      <pubDate>Thu, 30 Apr 2026 14:31:43 +0900</pubDate>
    </item>
    <item>
      <title>파이썬 for문 정리(range, continue, 리스트 내포까지)</title>
      <link>https://universitylife.tistory.com/152</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;데이터를 하나씩 꺼내서 처리하고 싶다&quot; 라는 상황이 온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/li&gt;
&lt;li&gt;점수 리스트 평균 계산&lt;/li&gt;
&lt;li&gt;문자열 하나씩 검사&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때 사용하는 것이 바로&amp;nbsp;&lt;b&gt;for문(반복문)&lt;/b&gt;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ for문이란?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;for문은&amp;nbsp;&lt;b&gt;리스트, 튜플, 문자열 같은 &quot;반복 가능한 데이터&quot;를 하나씩 꺼내서 실행하는 구조&lt;/b&gt;다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 기본 구조&lt;/h3&gt;
&lt;pre id=&quot;code_1777271035546&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for 변수 in 반복가능한객체:
	실행할 코드&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;기본 예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777271067159&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;numbers = [1, 2, 3, 4]

for n in numbers:
	print(n)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 1 2 3 4&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 문자열도 반복 가능하다&lt;/h3&gt;
&lt;pre id=&quot;code_1777271110855&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for ch in &quot;python&quot;:
	print(ch)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : p y t h o n&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 튜플, 딕셔너리도 가능&lt;/h3&gt;
&lt;pre id=&quot;code_1777271152959&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for x in (1, 2, 3):
	print(x)&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;대부분의 &quot;자료형&quot;에서 사용 가능하다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 구조 분해 할당&lt;/h3&gt;
&lt;pre id=&quot;code_1777271206095&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = [(1, 2), (3, 4), (5, 6)]

for (first, last) in a:
	print(first + last)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 3 7 11&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ continue (건너뛰기)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;for문에서도 continue 사용이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 방복을 건너뛰고 다음 반복으로 이동한다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777271289623&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for i in range(1, 6):
	if i == 3:
    	continue
    print(i)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 1 2 4 5&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ range 함수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;for문은 range와 거의 세트다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;기본 사용&lt;/h4&gt;
&lt;pre id=&quot;code_1777271336704&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for i in range(5):
	print(i)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 0 1 2 3 4&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부터 시작한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;끝 숫자는 포함이 안된다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;시작값 지정&lt;/h4&gt;
&lt;pre id=&quot;code_1777271374687&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for i in range(1, 6):
	print(i)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 1 2 3 4 5&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;간격 지정&lt;/h4&gt;
&lt;pre id=&quot;code_1777271443689&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for i in range(0, 10, 2):
	print(i)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 0 2 4 6 8&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ for vs while 차이&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;구분&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;for&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;while&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;기준&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;데이터 순회&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;조건&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;사용&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;리스트, 문자열&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;조건 반복&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;안정성&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;무한 루프 위험&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분 상황에서는&amp;nbsp;&lt;b&gt;for문이 더 안전하고 많이 사용된다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 리스트 내포(List Comprehension)&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;기본 구조&lt;/h4&gt;
&lt;pre id=&quot;code_1777271608981&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[표현식 for 변수 in 반복객체]&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777271631991&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;numbers = [1, 2, 3, 4]

result = [x * 2 for x in numbers]
print(result)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : [2 4 6 8]&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;h4 data-ke-size=&quot;size20&quot;&gt;조건 추가&lt;/h4&gt;
&lt;pre id=&quot;code_1777271668375&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;result = [x for x in range(10) if x % 2 == 0]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : [0, 2, 4, 6, 8]&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;h4 data-ke-size=&quot;size20&quot;&gt;중첩 for문&lt;/h4&gt;
&lt;pre id=&quot;code_1777271700128&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;result = [(x, y) for x in [1, 2] for y in [3, 4]]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : [(1, 3), (1, 4), (2, 3), (2, 4)]&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;잦은 실수 모음&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. range 끝값 포함된다고 착각&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;range(5) &amp;rarr; 0~4&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 변수 의미 없이 사용&lt;/h4&gt;
&lt;pre id=&quot;code_1777271785455&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for i in numbers:&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;i 대신 의미 있는 이름 추천&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 리스트 내포 과도 사용&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;너무 복잡하면 오히려 가독성 떨어짐&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 예제&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;리스트 합 구하기&lt;/h4&gt;
&lt;pre id=&quot;code_1777271862551&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;numbers = [1, 2, 3, 4]

total = 0
for n in numbers:
	total += n
    
print(total)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;문자열 필터링&lt;/h4&gt;
&lt;pre id=&quot;code_1777271904799&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;text = &quot;python&quot;

for ch in text:
	if ch != &quot;o&quot;:
    	print(ch)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;for문은 데이터를 하나씩 꺼내서 반복한다.&lt;/li&gt;
&lt;li&gt;range = 숫자 반복 핵심&lt;/li&gt;
&lt;li&gt;continue = 건너뛰기&lt;/li&gt;
&lt;li&gt;리스트 내포 = 한 단계 높은 문법&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;for문은 데이터를 자동으로 순회하는 가장 강력한 반복문이다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python</category>
      <category>Continue</category>
      <category>for문</category>
      <category>Python</category>
      <category>RANGE</category>
      <category>반복문</category>
      <category>파이썬</category>
      <category>프로그래밍</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/152</guid>
      <comments>https://universitylife.tistory.com/152#entry152comment</comments>
      <pubDate>Tue, 28 Apr 2026 08:53:54 +0900</pubDate>
    </item>
    <item>
      <title>while문 정리(반복문 기초부터 break, continue, 무한 루프까지)</title>
      <link>https://universitylife.tistory.com/151</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;이 작업을 여러 번 반복하고 싶다&quot; 라는 생각이 드는 상황이 자주 온다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/li&gt;
&lt;li&gt;특정 조건이 만족될 때까지 반복&lt;/li&gt;
&lt;li&gt;게임이나 프로그램을 계속 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때 사용하는 것이 바로&amp;nbsp;&lt;b&gt;while문(반복문)&lt;/b&gt;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ while문이란?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;while문은&amp;nbsp;&lt;b&gt;조건이 참(True)인 동안 계속 반복 실행되는 구조&lt;/b&gt;다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 기본 구조&lt;/h3&gt;
&lt;pre id=&quot;code_1777007282406&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;while 조건문:
	실행할 코드&lt;/code&gt;&lt;/pre&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;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777007324172&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;count = 0

while count &amp;lt; 5:
	print(count)
    count += 1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 0 1 2 3 4&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 왜 while문이 중요할까?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반복문은 프로그램의 핵심이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 while문은&amp;nbsp;&lt;b&gt;조건 중심 반복&lt;/b&gt;이라는 점에서 매우 중요하다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;for문 &amp;rarr; 횟수 중심&lt;/li&gt;
&lt;li&gt;while문 &amp;rarr; 조건 중심&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 무한 루프&lt;/h3&gt;
&lt;pre id=&quot;code_1777007413603&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;while True:
	print(&quot;계속 실행&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건이 항상 True이기 때문에 &quot;계속 실행&quot;이라는 문장이 무한 반복 된다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;언제 사용할까?&lt;/h4&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;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;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;종료 방법&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Ctrl + C&lt;/b&gt;로 강제 종료 가능하다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ break (강제로 종료)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;while문을 강제로 멈추고 싶을 때 사용한다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777007571235&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;coffee = 3

while True:
	money = int(input(&quot;돈을 넣어주세요: &quot;))
    
    if money == 300:
    	print(&quot;커피 나왔습니다&quot;)
        coffee -= 1
    else:
    	print(&quot;금액이 부족합니다&quot;)
    
    if coffee == 0:
    	print(&quot;판매 중지&quot;)
        break&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;coffee가 0이 되면 반복 종료된다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ continue (다시 처음으로)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;continue는&amp;nbsp;&lt;b&gt;아래 코드를 건너뛰고 다시 조건으로 돌아간다.&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1777007663972&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;count = 0

while count &amp;lt; 5:
	count += 1
    
    if count == 3:
    	continue
        
    print(count)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 1 2 4 5&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3은 출력이 안된다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ while문에서 꼭 알아야 할 핵심 포인트&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 종료 조건 반드시 필요&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1777007742043&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;while True:
	print(&quot;끝나지 않음&quot;)&lt;/code&gt;&lt;/pre&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;pre id=&quot;code_1777007797692&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;count += 1&lt;/code&gt;&lt;/pre&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;조건이 있는데 값이 안 바뀐다면 무한 루프가 발생한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ while문 + 조건문 조합&lt;/h3&gt;
&lt;pre id=&quot;code_1777007913787&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;password = &quot;&quot;

while password != &quot;1234&quot;:
	password = input(&quot;비밀번호 입력: &quot;)
    
print(&quot;로그인 성공&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맞을 때까지 계속 입력을 받는다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ while vs for 차이&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;구분&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;while&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;for&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;기준&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;조건&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;횟수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;사용&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;조건 반복&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;범위 반복&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;위험&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;무한 루프 가능&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;비교적 안전&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 예제&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;사용자 입력 반복&lt;/h4&gt;
&lt;pre id=&quot;code_1777008060179&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;while True:
	cmd = input(&quot;명령어 입력(exit 입력 시 종료): &quot;)
    
    if cmd == &quot;exit&quot;:
    	break
        
    print(f&quot;입력한 값: {cmd}&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;while문 = 조건이 참인 동안 반복&lt;/li&gt;
&lt;li&gt;break = 강제 종료&lt;/li&gt;
&lt;li&gt;continue = 반복 처음으로 이동&lt;/li&gt;
&lt;li&gt;무한 루프는 의도적으로 사용할 수도 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;while문은 조건이 만족될 때까지 계속 반복하는 구조다&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python</category>
      <category>Break</category>
      <category>Continue</category>
      <category>Python</category>
      <category>while</category>
      <category>파이썬</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/151</guid>
      <comments>https://universitylife.tistory.com/151#entry151comment</comments>
      <pubDate>Mon, 27 Apr 2026 09:06:26 +0900</pubDate>
    </item>
    <item>
      <title>if문 정리</title>
      <link>https://universitylife.tistory.com/150</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;조건에 따라 다른 행동을 하게 만들고 싶다&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;점수가 60점 이상이면 합격&lt;/li&gt;
&lt;li&gt;로그인 정보가 맞으면 성공&lt;/li&gt;
&lt;li&gt;특정 값이 있으면 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때 사용하는 것이 바로&amp;nbsp;&lt;b&gt;if문(조건문)&lt;/b&gt;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 조건문이란?&lt;/h3&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;어떤 조건이 참(True)인지 거짓(False)인지 판단하는 문장&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 그 결과에 따라&amp;nbsp;&lt;b&gt;다른 코드를 실행하게 만드는 구조&lt;/b&gt;다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ if문의 기본 구조&lt;/h3&gt;
&lt;pre id=&quot;code_1776996682194&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if 조건문:
	실행할 코드
else:
	실행할 코드&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건이 참이면 if 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거짓이면 else 실행&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1776996748457&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;score = 70

if score &amp;gt;= 60:
	print(&quot;합격&quot;)
else:
	print(&quot;불합격&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 합격&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 들여쓰기&lt;/h3&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;코드의 구조 자체를 결정한다.&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776996823313&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if True:
print(&quot;실행&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 오류 발생&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;올바른 코드&lt;/h4&gt;
&lt;pre id=&quot;code_1776996851165&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if True:
	print(&quot;실행&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반드시 들여쓰기 필요&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 비교 연산자&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건문에서 가장 많이 사용되는 것들이다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 42.2096%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.3771%;&quot;&gt;연산자&lt;/td&gt;
&lt;td style=&quot;width: 23.3169%;&quot;&gt;의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.3771%;&quot;&gt;&amp;gt;&lt;/td&gt;
&lt;td style=&quot;width: 23.3169%;&quot;&gt;크다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.3771%;&quot;&gt;&amp;lt;&lt;/td&gt;
&lt;td style=&quot;width: 23.3169%;&quot;&gt;작다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.3771%;&quot;&gt;==&lt;/td&gt;
&lt;td style=&quot;width: 23.3169%;&quot;&gt;같다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.3771%;&quot;&gt;!=&lt;/td&gt;
&lt;td style=&quot;width: 23.3169%;&quot;&gt;다르다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.3771%;&quot;&gt;&amp;gt;=&lt;/td&gt;
&lt;td style=&quot;width: 23.3169%;&quot;&gt;크거나 같다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.3771%;&quot;&gt;&amp;lt;=&lt;/td&gt;
&lt;td style=&quot;width: 23.3169%;&quot;&gt;작거나 같다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1776996973146&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;age = 20

if age &amp;gt;= 19:
	print(&quot;성인입니다&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 논리 연산자(and, or, not)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건을&amp;nbsp; 여러 개 사용할 때 필요하다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;and (둘 다 참)&lt;/h4&gt;
&lt;pre id=&quot;code_1776997026882&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if age &amp;gt;= 19 and age &amp;lt; 30:
	print(&quot;20대입니다&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;or (하나만 참)&lt;/h4&gt;
&lt;pre id=&quot;code_1776997046906&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if age &amp;lt; 10 or age &amp;gt; 60:
	print(&quot;요금 할인 대상&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;not (반대)&lt;/h4&gt;
&lt;pre id=&quot;code_1776997066010&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if not age == 20:
	print(&quot;20살이 아님&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ in / not in&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 안에 포함되어 있는지 확인&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예제&lt;/h4&gt;
&lt;pre id=&quot;code_1776997113067&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;menu = [&quot;김밥&quot;, &quot;라면&quot;, &quot;떡볶이&quot;]

if &quot;라면&quot; in menu:
	print(&quot;주문 가능&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 주문 가능&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ elif (여러 조건 처리)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건이 여러 개일 때 사용한다.&lt;/p&gt;
&lt;pre id=&quot;code_1776997183353&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;score = 85

if score &amp;gt;= 90:
	print(&quot;A&quot;) 
elif score &amp;gt;= 80:
	print(&quot;B&quot;)
elif score &amp;gt;= 70:
	print(&quot;C&quot;)
else:
	print(&quot;D&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : B&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;elif는&amp;nbsp;&lt;b&gt;앞의 조건이 틀렸을 때만 검사&lt;/b&gt;한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 조건부 표현식 (한 줄 if문)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드를 짧게 만들 수 있는 방법이다.&lt;/p&gt;
&lt;pre id=&quot;code_1776997252065&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;score = 70

result = &quot;합격&quot; if score &amp;gt;= 60 else &quot;불합격&quot;
print(result)&lt;/code&gt;&lt;/pre&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;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 실수 방지&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. = 과 == 혼동&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1776997324370&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if score = 60:&lt;/code&gt;&lt;/pre&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;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;파이썬은 들여쓰기가 필수이다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. else 단독 사용&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1776997378586&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;else:
	print(&quot;실행&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오류 발생한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;if 없이 사용할 수 없다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 예제&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;로그인 체크&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1776997442682&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;user_id = &quot;admin&quot;
user_pw = &quot;1234&quot;

if user_id == &quot;admin&quot; and user_pw == &quot;1234&quot;:
	print(&quot;로그인 성공&quot;)
else:
	print(&quot;로그인 실패&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;데이터 존재 확인&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1776997491762&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;items = [&quot;사과&quot;, &quot;바나나&quot;]

if &quot;사과&quot; in items:
	print(&quot;재고 있음&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;if문 = 조건에 따라 실행 분기&lt;/li&gt;
&lt;li&gt;elif = 여러 조건 처리&lt;/li&gt;
&lt;li&gt;들여쓰기 = 필수&lt;/li&gt;
&lt;li&gt;비교 연산자 + 논리 연산자 조합 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;if문은 프로그램의 흐름을 결정하는 핵심 도구다&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python</category>
      <category>elif</category>
      <category>Else</category>
      <category>if문</category>
      <category>Python</category>
      <category>조건문</category>
      <category>파이썬</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/150</guid>
      <comments>https://universitylife.tistory.com/150#entry150comment</comments>
      <pubDate>Mon, 27 Apr 2026 09:06:02 +0900</pubDate>
    </item>
    <item>
      <title>문자열 포매팅 정리(f-string, format, % 차이)</title>
      <link>https://universitylife.tistory.com/149</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬에서 문자열을 다루다 보면 단순 출력이 아니라&amp;nbsp;&lt;b&gt;값을 포함한 문장&lt;/b&gt;을 만들어야 하는 순간이 반드시 온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/li&gt;
&lt;li&gt;가격 계산 결과 출력&lt;/li&gt;
&lt;li&gt;로그 메시지 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때 사용하는 것이 바로&amp;nbsp;&lt;b&gt;문자열 포매팅(String Formatting)&lt;/b&gt;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 문자열 포매팅이란?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열 포매팅은&amp;nbsp;&lt;b&gt;문자열 안에 변수나 계산 결과를 동적으로 삽입하는 방법&lt;/b&gt;이다.&lt;/p&gt;
&lt;pre id=&quot;code_1776918796728&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;name = &quot;철수&quot;
age = 20

print(f&quot;{name}의 나이는 {age}입니다.&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 철수의 나이는 20입니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ f-string&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Python 3.6부터 도입된 방식으로 현재 가장 권장되는 방법이다.&lt;/p&gt;
&lt;pre id=&quot;code_1776918861039&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;name = &quot;철수&quot;
age = 20

print(f&quot;이름: {name}, 나이: {age}&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;단순 삽입을 넘어서 &quot;표현식&quot; 가능&lt;/h4&gt;
&lt;pre id=&quot;code_1776918894188&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;price = 3000
count = 2

print(f&quot;총 금액: {price * count}원&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 총 금액: 6000원&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;h4 data-ke-size=&quot;size20&quot;&gt;포맷 제어&lt;/h4&gt;
&lt;pre id=&quot;code_1776918934444&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pi = 3.141592

print(f&quot;{pi:.2f}&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : 3.14&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;/h4&gt;
&lt;pre id=&quot;code_1776918974252&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;text = &quot;hi&quot;

print(f&quot;{text:&amp;lt;10}&quot;) # 왼쪽 정렬
print(f&quot;{text:&amp;gt;10}&quot;) # 오른쪽 정렬
print(f&quot;{text:^10}&quot;) # 가운데 정렬&lt;/code&gt;&lt;/pre&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;/h4&gt;
&lt;pre id=&quot;code_1776918997092&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;x = 10
print(f&quot;{x=}&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : x=10&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수 이름까지 같이 출력됨 &amp;rarr; 디버깅에 매우 유용&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ format() 함수 (유연한 포맷팅)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;f-string 이전에 많이 사용되더 방식이지만 여전히&amp;nbsp;&lt;b&gt;복잡한 포맷 처리에서 강력하다&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776919348732&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;name = &quot;철수&quot;
age = 20

print(&quot;이름: {}, 나이: {}&quot;.format(name, age))&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;인덱스 기반&lt;/h4&gt;
&lt;pre id=&quot;code_1776919365902&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;{0} {1} {0}&quot;.format(&quot;A&quot;, &quot;B&quot;))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : A B A&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;이름 기반&lt;/h4&gt;
&lt;pre id=&quot;code_1776919390244&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;{name}은 {age}살입니다&quot;.format(name=&quot;철수&quot;, age=20))&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;포맷 지정&lt;/h4&gt;
&lt;pre id=&quot;code_1776919402436&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;{:&amp;gt;10}&quot;.format(&quot;hi&quot;))&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;문자열 내 중괄호 출력&lt;/h4&gt;
&lt;pre id=&quot;code_1776919418204&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;{{}}&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : {}&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ % 포매팅 (레거시 방식)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C언어 스타일의 포매팅 방식으로 오래된 코드에서 자주 보인다.&lt;/p&gt;
&lt;pre id=&quot;code_1776919468660&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;name = &quot;철수&quot;
age = 20

print(&quot;이름: %s, 나이: %d&quot; % (name, age))&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;주요 포맷 코드&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;%s : 문자열&lt;/li&gt;
&lt;li&gt;%d : 정수&lt;/li&gt;
&lt;li&gt;%f : 실수&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;한계&lt;/h4&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;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신규 코드에서는 거의 사용하지 않는다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;/li&gt;
&lt;li&gt;f-string이 현재 표준&lt;/li&gt;
&lt;li&gt;format은 보조&lt;/li&gt;
&lt;li&gt;%는 레거시&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python</category>
      <category>format</category>
      <category>Python</category>
      <category>파이썬</category>
      <category>포매팅</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/149</guid>
      <comments>https://universitylife.tistory.com/149#entry149comment</comments>
      <pubDate>Thu, 23 Apr 2026 13:52:47 +0900</pubDate>
    </item>
    <item>
      <title>파이썬 리스트 vs 튜플 차이와 리스트 복사 방법</title>
      <link>https://universitylife.tistory.com/148</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&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;/li&gt;
&lt;li&gt;복사했는데 왜 같이 바뀌지?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 두 가지는 초보자들이 거의 90% 이상 헷갈리는 부분이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 리스트 vs 튜플, 뭐가 다른 걸까?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 코드부터 보자.&lt;/p&gt;
&lt;pre id=&quot;code_1776911381907&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = [1, 2, 3] # 리스트
b = (1, 2, 3) # 튜플&lt;/code&gt;&lt;/pre&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;가장 큰 차이: 수정 가능 여부&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1776911425268&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a[0] = 100 # 가능
b[0] = 100 # 오류 발생&lt;/code&gt;&lt;/pre&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;튜플은 왜 필요할까?&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초보자 입장에서는 이런 생각이 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;그럼 그냥 리스트만 쓰면 되는 거 아닌가?&quot;&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;1. 데이터 보호&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 좌표를 저장한다고 가정해보자.&lt;/p&gt;
&lt;pre id=&quot;code_1776911507475&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;point = (10, 20)&lt;/code&gt;&lt;/pre&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;&lt;b&gt;2. 성능(속도)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;튜플은 변경이 불가능하기 때문에 내부적으로 더 빠르게 동작한다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;언제 리스트, 언제 튜플을 사용할까?&lt;/b&gt;&lt;/h4&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;절대 값이 바뀔 가능성이 없음 = 튜플&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 리스트 복사, 왜 같이 바뀔까?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제 상황&lt;/p&gt;
&lt;pre id=&quot;code_1776911657195&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = [1, 2, 3]
b = a

b[0] = 100
print(a)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : [100, 2, 3]&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;b = a는 복사가 아니다&lt;/li&gt;
&lt;li&gt;둘 다 같은 리스트를 가리키는 상태다.&lt;/li&gt;
&lt;li&gt;즉,&amp;nbsp;&lt;b&gt;하나를 바꾸면 둘 다 바뀐다&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;해결 방법&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 슬라이싱&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776911755419&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;b = a[:]&lt;/code&gt;&lt;/pre&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;b&gt;2. copy 모듈&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776911792611&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from copy import copy

b = copy(a)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드도 완전히 독립적인 복사이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 예제&lt;/h3&gt;
&lt;pre id=&quot;code_1776911847611&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;scores = [10, 20, 30]
backup = scores[:]

scores[0] = 0

print(scores) # [0, 20, 30]
print(backup) # [10, 20, 30]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복사하면 서로 영향이 없음&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 요약&lt;/h3&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;b = a는 복사가 아니라 &quot;공유&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리스트 복사는 반드시 따로 해야 한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python</category>
      <category>Python</category>
      <category>리스트</category>
      <category>튜플</category>
      <category>파이썬</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/148</guid>
      <comments>https://universitylife.tistory.com/148#entry148comment</comments>
      <pubDate>Thu, 23 Apr 2026 11:39:05 +0900</pubDate>
    </item>
    <item>
      <title>리스트, 튜플, 딕셔너리, 집합 쉽게 이해하기</title>
      <link>https://universitylife.tistory.com/147</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬을 배우다가 이런 순간이 온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;변수 하나는 알겠는데 데이터가 여러 개면 어떻게 하지?&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장바구니에 물건 10개&lt;/li&gt;
&lt;li&gt;학생 이름 30명&lt;/li&gt;
&lt;li&gt;게임 점수 기록&lt;/li&gt;
&lt;/ul&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;b&gt;자료구조(리스트, 튜플, 딕셔너리, 집합)&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말하면&amp;nbsp;&lt;b&gt;여러 데이터를 한 번에 관리하는 방법&lt;/b&gt;이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 리스트(List) - 가장 많이 사용하는 기본 자료형&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리스트는&amp;nbsp;&lt;b&gt;여러 개의 값을 순서대로 저장하는 구조&lt;/b&gt;다.&lt;/p&gt;
&lt;pre id=&quot;code_1776908460283&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cart = [&quot;콜라&quot;, &quot;과자&quot;, &quot;라면&quot;]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 만들고 나면 각각의 값을 번호(인덱스)로 꺼낼 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1776908488964&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(cart[0])&lt;/code&gt;&lt;/pre&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;리스트의 특징&lt;/b&gt;&lt;/h4&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;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;리스트의 중요성&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 프로그래밍에서&amp;nbsp;&lt;b&gt;여러 개 데이터 처리&lt;/b&gt;는 거의 필수다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 반복문과 같이 쓰면&lt;/p&gt;
&lt;pre id=&quot;code_1776909706211&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for item in cart:
	print(item)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터를 자동으로 하나씩 처리할 수 있다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;리스트에서 자주 사용하는 기능&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;값 추가&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776909789346&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cart.append(&quot;아이스크림&quot;)&lt;/code&gt;&lt;/pre&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;b&gt;값 수정&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776909811723&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cart[0] = &quot;사이다&quot;&lt;/code&gt;&lt;/pre&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;b&gt;값 삭제&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776909829786&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;del cart[1]&lt;/code&gt;&lt;/pre&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;b&gt;중첩 리스트&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리스트 안에는 또 다른 리스트를 넣을 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1776909869219&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;data = [1, 2, 3, [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;]]
print(data[-1][0])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : a&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 구조를 중첩 리스트라고 한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 튜플 - 수정이 불가능한 리스트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;튜플은 리스트와 거의 같지만 한 가지 차이가 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1776910398443&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;t = (1, 2, 3)&lt;/code&gt;&lt;/pre&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;튜플을 사용하는 이유&lt;/h4&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;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;/ul&gt;
&lt;pre id=&quot;code_1776910464475&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;t = (1,)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;요소가 하나일 때는 반드시 쉼표를 붙여야 한다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 딕셔너리 - 이름으로 찾는 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;딕셔너리는&amp;nbsp;&lt;b&gt;Key &amp;rarr; Value 형태로 데이터를 저장하는 방식&lt;/b&gt;이다.&lt;/p&gt;
&lt;pre id=&quot;code_1776910533163&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;user = { &quot;name&quot;: &quot;철수&quot;, &quot;age&quot;: 20 }&lt;/code&gt;&lt;/pre&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;/h4&gt;
&lt;pre id=&quot;code_1776910550019&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(user[&quot;name&quot;])&lt;/code&gt;&lt;/pre&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;리스트와 차이&lt;/b&gt;&lt;/h4&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;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&amp;nbsp;&lt;b&gt;더 직관적이다.&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;자주 사용하는 기능&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;값 추가&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776910626739&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;user[&quot;job&quot;] = &quot;개발자&quot;&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;pre id=&quot;code_1776910640827&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;del user[&quot;age&quot;]&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;Key는 중복이 불가능하다.&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1776910674011&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = {1: &quot;a&quot;, 1: &quot;b&quot;}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : {1: 'b'}&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;get()을 써야 하는 이유&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1776910711363&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(user.get(&quot;age&quot;))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : None&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;존재하지 않는 값을 가져와도 에러가 나지 않는다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 집합(Set) - 중복 제거에 특화된 자료형&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;집합은&amp;nbsp;&lt;b&gt;중복을 허용하지 않는 자료형&lt;/b&gt;이다.&lt;/p&gt;
&lt;pre id=&quot;code_1776911003499&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;s = set([1, 2, 3, 3, 3])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과 : {1, 2, 3}&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;특징&lt;/h4&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;/ul&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;h4 data-ke-size=&quot;size20&quot;&gt;집합 연산&lt;/h4&gt;
&lt;pre id=&quot;code_1776911087973&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = set([1, 2, 3])
b = set([2, 3, 4])

print(a &amp;amp; b) # 교집합
print(a | b) # 합집합
print(a - b) # 차집합&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;/li&gt;
&lt;li&gt;튜플 = 순서 있지만 수정 불가능&lt;/li&gt;
&lt;li&gt;딕셔너리 = 이름(Key)으로 값 찾기&lt;/li&gt;
&lt;li&gt;집합 = 중복 제거 + 순서 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;</description>
      <category>Python</category>
      <category>Python</category>
      <category>딕셔너리</category>
      <category>리스트</category>
      <category>집합</category>
      <category>튜플</category>
      <category>파이썬</category>
      <category>프로그래밍</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/147</guid>
      <comments>https://universitylife.tistory.com/147#entry147comment</comments>
      <pubDate>Thu, 23 Apr 2026 11:26:40 +0900</pubDate>
    </item>
    <item>
      <title>인터프리터, 변수, 자료형 이해하기</title>
      <link>https://universitylife.tistory.com/146</link>
      <description>&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 인터프리터란 무엇인가?&lt;/h3&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;그래서 이런 식으로 바로 결과를 확인할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1776837990453&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(1 + 2)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 결과&lt;/p&gt;
&lt;pre id=&quot;code_1776838010909&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;3&lt;/code&gt;&lt;/pre&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;b&gt;대화형 인터프리터&lt;/b&gt;라고 부른다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 변수란 무엇인가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수는 아주 간단하게 말하면 &lt;b&gt;값을 저장해주는 공간&lt;/b&gt;이다.&lt;/p&gt;
&lt;pre id=&quot;code_1776838106197&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = 1
b = 2

print(a + b)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 결과&lt;/p&gt;
&lt;pre id=&quot;code_1776838118141&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;3&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드의 흐름은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;a에 1 저장&lt;/li&gt;
&lt;li&gt;b에 2 저장&lt;/li&gt;
&lt;li&gt;둘을 더해서 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 변수는 데이터를 담아두고 재사용하기 위한 도구다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 숫자형(정수, 실수)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬에서 숫자는 크게 이렇게 나눈다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정수 : 1, -10, 0&lt;/li&gt;
&lt;li&gt;실수 : 1.4, -3.14&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1776838262413&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = 10
b = 3

print(a + b)	# 덧셈
print(a * b)	# 곱셈
print(a / 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;자주 쓰는 연산자&lt;/p&gt;
&lt;pre id=&quot;code_1776838353846&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(2 ** 3)	# 거듭제곱 &amp;rarr; 8
print(7 % 3)	# 나머지 &amp;rarr; 1
print(7//3)	# 몫 &amp;rarr; 2&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 문자열이란?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열은&amp;nbsp;&lt;b&gt;글자들의 집합&lt;/b&gt;이다.&lt;/p&gt;
&lt;pre id=&quot;code_1776838493477&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;text = &quot;Hello Python&quot;
print(text)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열은 따옴표로 감싸면 된다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;문자열&quot;&lt;/li&gt;
&lt;li&gt;'문자열'&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 문자열에서 자주 쓰는 기능&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 문자열 더하기 (연결)&lt;/h4&gt;
&lt;pre id=&quot;code_1776838585757&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = &quot;Hello&quot;
b = &quot;World&quot;

print(a + &quot; &quot; + b)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 결과 : Hello World&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 문자열 반복&lt;/h4&gt;
&lt;pre id=&quot;code_1776838634957&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;Hi&quot; * 3)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 결과 : HiHiHi&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 문자열 길이&lt;/h4&gt;
&lt;pre id=&quot;code_1776838677645&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(len(&quot;Python&quot;))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 결과 : 6&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 문자열 인덱싱 &amp;amp; 슬라이싱&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열은 위치로 접근할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1776838879429&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;text = &quot;Python&quot;

print(text[0])	# P
print(text[1])	# y&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬은&amp;nbsp;&lt;b&gt;0부터 시작&lt;/b&gt;한다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;특정 구간 가져오기&lt;/h4&gt;
&lt;pre id=&quot;code_1776838920285&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(text[0:3])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 결과 : Pyt&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;끝 번호는 포함되지 않는다는 점이 중요하다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 문자열 포매팅&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문자열 안에 값을 넣는 방법이다.&lt;/b&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;f-string&lt;/h4&gt;
&lt;pre id=&quot;code_1776839018829&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;name = &quot;철수&quot;
age = 20

print(f&quot;이름은 {name}이고 나이는 {age}입니다.&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;문자열 관련 함수&lt;/h4&gt;
&lt;pre id=&quot;code_1776839119616&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;text = &quot;python&quot;

print(text.upper())	# PYTHON
print(text.lower())	# python
print(text.replace(&quot;python&quot;, &quot;java&quot;))	# java&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 불 자료형(True / False)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;불 자료형은&amp;nbsp;&lt;b&gt;참(True)과 거짓(False)&lt;/b&gt;을 나타낸다.&lt;/p&gt;
&lt;pre id=&quot;code_1776839207613&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(1 &amp;gt; 2)	# False
print(2 &amp;gt; 1)	# True&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1776839236189&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(bool(0))       # False
print(bool(1))       # True
print(bool(&quot;&quot;))      # False&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;값이 비어 있으면 False로 판단된다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 리스트 복사할 때 주의&lt;/h3&gt;
&lt;pre id=&quot;code_1776839286262&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = [1, 2, 3]
b = a

b[0] = 100

print(a)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 결과 : [100, 2, 3]&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;h4 data-ke-size=&quot;size20&quot;&gt;제대로 복사하는 방법&lt;/h4&gt;
&lt;pre id=&quot;code_1776839326917&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a = [1, 2, 3]
b = a[:]

b[0] = 100

print(a)  # 원본 유지&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&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;/li&gt;
&lt;li&gt;변수는 값을 저장하는 공간이다.&lt;/li&gt;
&lt;li&gt;숫자와 문자열은 가장 기본적인 자료형이다.&lt;/li&gt;
&lt;li&gt;문자열은 다양한 기능을 제공한다.&lt;/li&gt;
&lt;li&gt;True / False 개념은 이후 조건문에서 매우 중요하다.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Python</category>
      <category>Python</category>
      <category>변수</category>
      <category>자료형</category>
      <category>파이썬</category>
      <category>프로그래밍</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/146</guid>
      <comments>https://universitylife.tistory.com/146#entry146comment</comments>
      <pubDate>Wed, 22 Apr 2026 15:30:33 +0900</pubDate>
    </item>
    <item>
      <title>파이썬이란?</title>
      <link>https://universitylife.tistory.com/145</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래밍을 처음 시작하려고 할 때 가장 많이 추천받는 언어가 바로 &lt;b&gt;파이썬(Python)&lt;/b&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;◆ 파이썬이란 무엇인가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬은 1990년대 초 네덜란드의 개발자인 귀도 반 로섬이 만든 프로그래밍 언어다.&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;&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;&lt;b&gt;작성 &amp;rarr; 실행 &amp;rarr; 결과 확인&lt;/b&gt;을 빠르게 반복할 수 있어서 초보자에게 매우 유리하다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;◆ 파이썬의 주요 특징&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 사람의 사고 방식과 비슷한 언어&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬은 문법이 직관적이라 코드를 읽어보면 '이게 무슨 의미인지' 비교적 쉽게 이해할 수 있다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 배우기 쉬운 문법&lt;/h4&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;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;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬이 입문용 언어로 유명한 이유다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 무료이면서 강력한 성능&lt;/h4&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;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;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 프로그램을 파이썬으로 만들 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만, 속도가 매우 중요한 작업이나 하드웨어를 직접 제어하는 경우에는 C/C++ 같은 언어가 더 적합하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대신 파이썬은 이런 단점을 보완하기 위해 다른 언어와 함께 사용하는 구조도 가능하다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. 협업과 유지보수가 쉬움&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/li&gt;
&lt;li&gt;유지보수 비용이 줄어듦&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서 굉장히 중요한 장점이다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5. 개발 속도가 빠름&lt;/h4&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;◆ 파이썬으로 할 수 있는 것&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬은 활용 범위가 정말 넓다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;시스템 자동화&lt;/h4&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;h4 data-ke-size=&quot;size20&quot;&gt;웹 개발&lt;/h4&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;h4 data-ke-size=&quot;size20&quot;&gt;데이터 분석&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NumPy, Pandas 같은 라이브러리를 활용하면 데이터를 분석하고 시각화하는 작업을 쉽게 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 가장 인기 있는 활용 분야 중 하나다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;GUI 프로그램 제작&lt;/h4&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;h4 data-ke-size=&quot;size20&quot;&gt;IoT 및 하드웨어 제어&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라즈베리파이 같은 장비와 함께 사용하면 간단한 IoT 프로젝트도 구현할 수 있다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;◆ 파이썬 사용이 어려운 분야&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/li&gt;
&lt;li&gt;모바일 앱 개발(특히 iOS, Android 네이티브 앱)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 분야는 아직 다른 언어가 더 유리하다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;◆ 공부하면서 느낀 점&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;직접 공부해보면서 느낀 건 파이썬은 단순히 '쉬운 언어'가 아니라&amp;nbsp;&lt;b&gt;시작을 쉽게 만들어주는 언어&lt;/b&gt;라는 점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문법에 막히기보다 내가 만들고 싶은 것에 집중할 수 있다는 게 가장 큰 장점이었다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;◆ 마무리 정리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/li&gt;
&lt;li&gt;활용 범위가 넓음&lt;/li&gt;
&lt;li&gt;개발 속도가 빠름&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 입문자부터 실무 개발자까지 모두 사용하는 언어다.&lt;/p&gt;</description>
      <category>Python</category>
      <category>Python</category>
      <category>파이썬</category>
      <category>프로그래밍</category>
      <author>WorthLearner</author>
      <guid isPermaLink="true">https://universitylife.tistory.com/145</guid>
      <comments>https://universitylife.tistory.com/145#entry145comment</comments>
      <pubDate>Wed, 22 Apr 2026 13:37:14 +0900</pubDate>
    </item>
  </channel>
</rss>