<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
		<id>http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?action=history&amp;feed=atom&amp;title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0327_12%EC%9D%BC%EC%B0%A8</id>
		<title>선미 파이썬 0327 12일차 - 편집 역사</title>
		<link rel="self" type="application/atom+xml" href="http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?action=history&amp;feed=atom&amp;title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0327_12%EC%9D%BC%EC%B0%A8"/>
		<link rel="alternate" type="text/html" href="http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0327_12%EC%9D%BC%EC%B0%A8&amp;action=history"/>
		<updated>2026-04-03T22:41:36Z</updated>
		<subtitle>이 문서의 편집 역사</subtitle>
		<generator>MediaWiki 1.27.1</generator>

	<entry>
		<id>http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0327_12%EC%9D%BC%EC%B0%A8&amp;diff=162&amp;oldid=prev</id>
		<title>Azuremei: 판 1개를 가져왔습니다</title>
		<link rel="alternate" type="text/html" href="http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0327_12%EC%9D%BC%EC%B0%A8&amp;diff=162&amp;oldid=prev"/>
				<updated>2018-04-05T06:46:13Z</updated>
		
		<summary type="html">&lt;p&gt;판 1개를 가져왔습니다&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style='vertical-align: top;' lang='ko'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;2018년 4월 5일 (목) 06:46 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='ko'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(차이 없음)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Azuremei</name></author>	</entry>

	<entry>
		<id>http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0327_12%EC%9D%BC%EC%B0%A8&amp;diff=161&amp;oldid=prev</id>
		<title>2018년 3월 29일 (목) 07:46에 Shanmei님의 편집</title>
		<link rel="alternate" type="text/html" href="http://dhlab.aks.ac.kr/~azuremei/wiki/index.php?title=%EC%84%A0%EB%AF%B8_%ED%8C%8C%EC%9D%B4%EC%8D%AC_0327_12%EC%9D%BC%EC%B0%A8&amp;diff=161&amp;oldid=prev"/>
				<updated>2018-03-29T07:46:05Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# 09_fonction&lt;br /&gt;
'''&lt;br /&gt;
    [함수]        '반환'&amp;lt;&amp;lt;&amp;lt;&amp;lt;매우중요&lt;br /&gt;
    - '특정 작업'을 '수행'하는 코드들을 '하나로 묶은 것'&lt;br /&gt;
      &amp;gt;특정 작업&lt;br /&gt;
    - 함수를 사용하는 이유 :&lt;br /&gt;
      1. 높은 재사용성&lt;br /&gt;
       &amp;gt;한 번 만들어놓으면 언제든지 사용('호출')할 수 있다.&lt;br /&gt;
      2. 중복된 코드 제거(한 번에 묶는것이므로)&lt;br /&gt;
      3. 프로그램의 구조화(굴조적인 프로그램 설계가 가능해진다)&lt;br /&gt;
&lt;br /&gt;
[함수의 기본 구조]&lt;br /&gt;
def 함수이름(매개변수) :&lt;br /&gt;
    수행문&lt;br /&gt;
    return&lt;br /&gt;
#def(define) 정의되어 있다. &lt;br /&gt;
&lt;br /&gt;
&amp;gt;print()와 같이 이러한 구조들이 이미 만들어져 있는 것도 있다.&lt;br /&gt;
&lt;br /&gt;
    -우리가 만드는 함수 : 사용자 정의 함수&lt;br /&gt;
    -이미 파이썬에서 사용할 수 있도록 만들어진 함수 : print(), input()....&lt;br /&gt;
            &amp;gt;이러한 함수들은 기본구조에 맞춰ㅗ 이미 만들어져 있다.&lt;br /&gt;
            &amp;gt;&amp;gt;&amp;gt;우리는 굳이 실제 어떤 식으로 만들어졌는지 알 필요는 없다.&lt;br /&gt;
                어떻게 사용하는 지만 알면 됨(앞서 문자열, 리스트 등의 함수 배운것처럼)&lt;br /&gt;
&lt;br /&gt;
[1. 매개변수] : 함수 입장에서는 입력받는 값, 함수를 사용하는(호출하는) 입장에서는 입력하는 값&lt;br /&gt;
    - 함수의 기능 수행을 위해 함수가 소출될 때 받을 값을 담는 '변수'&lt;br /&gt;
      &amp;gt;내가 함수를 만들 때 변수를 만들듯 이름을 지으면 됨(변추처럼)&lt;br /&gt;
    - 갯수 제한이 없고, 필요없으면 생략도 가능하다.&lt;br /&gt;
      &amp;gt;매개변수1, 매개변수2, 매겨변수3.....같이 나열하여 사용.&lt;br /&gt;
&lt;br /&gt;
[2. 반환값] : 함수 입장에서는 함수 기능 수행을 다 하고 반환해주는 값이고, 사용자 입장에서는 돌려 받는 값&lt;br /&gt;
    - return 뒤에 오는 '값'은 함수의 수행이 끝나고 전달되는 값&lt;br /&gt;
    - 'return'이라는 것을 사용하면 함수의 수행이 끝남(반복문의 break처럼)&lt;br /&gt;
&lt;br /&gt;
-매개변수와 반환값의 유/무에 따른 함수 종류&lt;br /&gt;
1. 둘 다 있거나&lt;br /&gt;
2. 둘 다 없거나&lt;br /&gt;
3. 둘 중 하나만 있다(2가지 경우)&lt;br /&gt;
&amp;gt;&amp;gt;총 4 가지 경우가 있는데 어떻게 만들지는 누가 정해주는 것이 아니라 함수 기능의 목적에 따라 만드는 사람(개발자)가 결정하는 것.&lt;br /&gt;
'''&lt;br /&gt;
print(&amp;quot;===========function=================&amp;quot;) # function : 다른 언어에서 기능, 함수, 매소드 등으로 불리기도 함&lt;br /&gt;
&lt;br /&gt;
#1. 매개변수와 반환값이 둘 다 있는 함수&lt;br /&gt;
#def : define &amp;gt;&amp;gt;함수를 정의하는 것, 즉 만들겠다!&lt;br /&gt;
&lt;br /&gt;
def add(a, b) :&lt;br /&gt;
    return a+b&lt;br /&gt;
&lt;br /&gt;
#함수는 def정의만 해놓으면 아무런 효력이 없다. 단지 이런 기능(함수)가 있다고 만들어놓기만 한 것이고 반환된 결과를 호출해줘야 수행문이 수행된다.&lt;br /&gt;
#↓↓↓↓호출&lt;br /&gt;
result = add(1, 2)&lt;br /&gt;
#add(1, 2) 호출하면 add함수의 수행문으로 코드가 점프!이동~1)이 때 매개변수 a, b에는 차례대로 1, 2가 대입된다 2)리턴 뒤에 값이 있으면 그 값을 반환하는데 리턴값이 +이므로&lt;br /&gt;
#에드 함수 호출이 끝나면 원래 호출했던 위치로 돌아온다. 반환된 값이 있으면 그 값을 들고온다 &amp;gt;&amp;gt;&amp;gt;&amp;gt;3&lt;br /&gt;
#결국 반환된 값에 의해 리절트=3과 같은 코드가 된 것(코드가 변한것은 아니고 저런 연산과정을 거쳤다는 것)&lt;br /&gt;
print(result)&lt;br /&gt;
'''&lt;br /&gt;
my_str = input(&amp;quot;입력 : &amp;quot;) #내부적으로는 리턴&amp;quot;입력된 문자열&amp;quot;&lt;br /&gt;
print(my_str)&lt;br /&gt;
#잘못 이해한 예씨 : 1. 변수에 인풋 함수가 대입, 2. 프린트에서 인풋 함수가 수행&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
#2. 매개변수와 변환값이 둘 다 없는 함수&lt;br /&gt;
def say_ho() :&lt;br /&gt;
    print(&amp;quot;ho! ho!&amp;quot;)&lt;br /&gt;
#&amp;gt;&amp;gt;기능 : 호출되면 hoho 라는 문자열을 출력하고 끝,&lt;br /&gt;
    #수행문 자체에 print함수를 사용한 1줄밖에 없다.&lt;br /&gt;
    #따로 규칙이 없이 리턴을 사용한다/안한다의 차이&lt;br /&gt;
  &lt;br /&gt;
say_ho() # print를 이용해 따로 출력하지 않아도 미리 정의된 매개변수(print(&amp;quot;hoho&amp;quot;))에 따라 값이 출력된다.&lt;br /&gt;
&lt;br /&gt;
#반환값이 있는 것과 잘못 지어서 연관하는 오류가 있다.&lt;br /&gt;
result = say_ho() #세이호 함수는 반환값이 없다. &lt;br /&gt;
#리절트 변수에 무언가 값을 대입하는 행위를 했다&lt;br /&gt;
print(&amp;quot;result의 값 : &amp;quot;, result)&lt;br /&gt;
'''&lt;br /&gt;
ho! ho!&lt;br /&gt;
ho! ho!&lt;br /&gt;
result의 값 :  None&lt;br /&gt;
라고 뜨는데 이는 반환을 아무것도 하지 않았는데 아무것도 없는 행위를 대입 &amp;gt;&amp;gt;&amp;gt; 리절트 변수에는 none이라는 값이 생기는것&lt;br /&gt;
'''&lt;br /&gt;
print(&amp;quot;=====&amp;quot;)&lt;br /&gt;
print(say_ho())&lt;br /&gt;
&lt;br /&gt;
# 1)프린트 함수에서 툴력할 값으로 say_ho를 넣었다.&lt;br /&gt;
  #프린트로 sayho를 출력하려면 세이호라는 함수를 수행해야 하는데 세이호가 호출되면서 수행문을 수행하러 이동&lt;br /&gt;
  #이떄 수행문에 있는 호호가 수행되면서 출력이 됨.&lt;br /&gt;
  # 수행문이 끝나고 원래 위치로 돌아왔지만 반환된 값이 없어서 none(값이 없다)이 되는 것, 프린트는 반환된 값이 없는 값none을 출력하는 것(print(none))&lt;br /&gt;
&lt;br /&gt;
#3. 반환값만 있는 함수&lt;br /&gt;
def get_ho() :&lt;br /&gt;
    #수행문 자리인데 수행문을 넣지 않음(왜? 내 마음. 규칙은 따로 없음)&lt;br /&gt;
    return &amp;quot;ho[[사용자:Shanmei|Shanmei]] ([[사용자토론:Shanmei|토론]]) 2018년 3월 27일 (화) 21:22 (KST)!&amp;quot; # 리턴도 일종의 수행문으로 볼 수 있다. (별도의 수행문을 넣지 않았을 뿐이지 수행문(반환값) 자체가 없는 것은 아님)&lt;br /&gt;
print(&amp;quot;==3==&amp;quot;)&lt;br /&gt;
print(get_ho())&lt;br /&gt;
#겟호가 수행되는것까지는 동일하고 반환값을 만나면서 겟호는 끝이 났다.&lt;br /&gt;
#원래 위치로 되돌아오면서 반환값을 들거왔으므로 반환값이 있다&amp;gt;&amp;gt;&amp;gt;&amp;gt;print에서 출력할 것(ho~~)가 생겨서 print(ho~~)rk tngod&lt;br /&gt;
&lt;br /&gt;
# 반환값이 없는 함수는 그 반환값을 1)변수에 '대입'하여 사용하거나 2)특정 코드에서 '사용'하는 개념&lt;br /&gt;
&lt;br /&gt;
#4. 매개변수만 있다.&lt;br /&gt;
def say(talk) :&lt;br /&gt;
    print(talk)&lt;br /&gt;
    #return을 사용하ㅓ지 않음&amp;gt;&amp;gt;반환값이 없다.&lt;br /&gt;
print(&amp;quot;==4==&amp;quot;)&lt;br /&gt;
say(&amp;quot;ho! ho[[사용자:Shanmei|Shanmei]] ([[사용자토론:Shanmei|토론]]) 2018년 3월 27일 (화) 21:22 (KST)&amp;quot;)&lt;br /&gt;
#반환값이 없는 함수는 그냥, 어디에 사용하거나 대입하지 않고 단독적으로 호출만 하면 됨(프린트로 출력 할 필요가 없다.)&lt;br /&gt;
&lt;br /&gt;
#함수 연습&lt;br /&gt;
'''&lt;br /&gt;
    1. 홀짝 판별기&lt;br /&gt;
    - 함수로 전달된 값에 홀/짝 판별하는 함수 정의&lt;br /&gt;
    - 함수 이름은 : is_even_number &amp;gt;&amp;gt; 내가 전달한 값이 짝수가 맞니?&lt;br /&gt;
      1)함수에서 결과를 출력(반환 없음) is_even_number1&lt;br /&gt;
      2)함수에서 결과를 반환(출력 없음) is_even_number2&lt;br /&gt;
&lt;br /&gt;
[출력결과]&lt;br /&gt;
숫자 입력 : 3&lt;br /&gt;
홀수입니다.&lt;br /&gt;
(입력은 미리 받아야 한다.) input_num(int(~~))&lt;br /&gt;
우리가 만든 함수(input_num)~~&lt;br /&gt;
&lt;br /&gt;
    2. 큰 수에서 작은 함수를 뺀 결과를 반환하는 함수를 정의&lt;br /&gt;
        &amp;gt;매개변수로 2개의 숫자를 전달받음&lt;br /&gt;
        &amp;gt;2개의 숫자는 함수 외부에서 입력받음&lt;br /&gt;
&lt;br /&gt;
[출력 결과]&lt;br /&gt;
두 수 입력 : 2 19&lt;br /&gt;
결과 : 17&lt;br /&gt;
&lt;br /&gt;
    3. 1) 1~10 사이의 두 수를 입력받음&lt;br /&gt;
       2) 1~100까지 1)에서 입력받은 두 수의 공배수를 출력&lt;br /&gt;
         &amp;gt;매개변수로 두 개의 숫자를 전달받음&lt;br /&gt;
         &amp;gt;함수에서 바로 출력(반환없음)&lt;br /&gt;
[출력 결과]&lt;br /&gt;
두 수 입력 : 3 5&lt;br /&gt;
결과 : 15 30 45 60 75 90&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;1-1)&amp;quot;)&lt;br /&gt;
inp_n = int(input(&amp;quot;숫자 입력 : &amp;quot;))&lt;br /&gt;
'''&lt;br /&gt;
def is_even_number1(inp_n) :&lt;br /&gt;
    if inp_n % 2 == 0 :&lt;br /&gt;
            print(&amp;quot;짝수&amp;quot;)&lt;br /&gt;
    else :&lt;br /&gt;
            print(&amp;quot;홀수&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
is_even_number1(inp_n)&lt;br /&gt;
'''&lt;br /&gt;
print(&amp;quot;1-2)&amp;quot;)&lt;br /&gt;
def is_even_number2(inp_n) :&lt;br /&gt;
    if inp_n % 2 == 0 :&lt;br /&gt;
            print(&amp;quot;짝수&amp;quot;)&lt;br /&gt;
    else :&lt;br /&gt;
            print(&amp;quot;홀수&amp;quot;)&lt;br /&gt;
    return &lt;br /&gt;
&lt;br /&gt;
result = is_even_number(inp_n)&lt;br /&gt;
print(result)&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
#2번의 경우 뭘 반환한느냐에 따라 결과값이 달라님&lt;br /&gt;
#2-1)결과값이 문자열이 경우&lt;br /&gt;
result = is_even_number2(input_num)&lt;br /&gt;
print(result) #반환된게 &amp;quot;짝수&amp;quot;와 같은 문자열&lt;br /&gt;
&lt;br /&gt;
#2-2) 결과를 t/f로 변환&lt;br /&gt;
result = is_even_number2(input_num)&lt;br /&gt;
if result == True :&lt;br /&gt;
    print(&amp;quot;짝수&amp;quot;)&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
#변수에 어떤 형태도 대입할 수 있는 것처럼 반환도 형태를 가리지 않는다. 단 반환된 형태가 그 자료형이 되기 때문에 출력할 때 형태에 맞게 써야 함&lt;br /&gt;
def test1() :&lt;br /&gt;
    return 1&lt;br /&gt;
&lt;br /&gt;
def test2() :&lt;br /&gt;
    return &amp;quot;ㅋㅋㅋ&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def test3() :&lt;br /&gt;
    return [1, 2, 3]&lt;br /&gt;
&lt;br /&gt;
a = test1()&lt;br /&gt;
b = test2()&lt;br /&gt;
c = test3()&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;====&amp;quot;)&lt;br /&gt;
print(a)&lt;br /&gt;
print(b)&lt;br /&gt;
print(c)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shanmei</name></author>	</entry>

	</feed>