{ "metadata": { "name": "", "signature": "sha256:656b15dd9bebc0387448c683e6aac1bb080f9d09a975f111de451b9e13225fec" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "***\n", "# 15. \ud30c\uc774\uc36c \ud568\uc218\n", "***\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "## 1 \ud568\uc218\uc758 \uc815\uc758\uc640 \ud638\ucd9c\n", "***\n", "- \ud568\uc218: \uc5ec\ub7ec \uac1c\uc758 Statement\ub4e4\uc744 \ud558\ub098\ub85c \ubb36\uc740 \ub2e8\uc704\n", "- \ud568\uc218 \uc0ac\uc6a9\uc758 \uc7a5\uc810\n", " - \ubc18\ubcf5\uc801\uc778 \uc218\ud589\uc774 \uac00\ub2a5\ud558\ub2e4\n", " - \ucf54\ub4dc\ub97c \ub17c\ub9ac\uc801\uc73c\ub85c \uc774\ud574\ud558\ub294 \ub370 \ub3c4\uc6c0\uc744 \uc900\ub2e4\n", " - \ucf54\ub4dc\uc758 \uc77c\uc815 \ubd80\ubd84\uc744 \ubcc4\ub3c4\uc758 \ub17c\ub9ac\uc801 \uac1c\ub150\uc73c\ub85c \ub3c5\ub9bd\ud654\ud560 \uc218 \uc788\uc74c\n", " - \uc218\ud559\uc5d0\uc11c \ubcf5\uc7a1\ud55c \uac1c\ub150\uc744 \ud558\ub098\uc758 \ub2e8\uc21c\ud55c \uae30\ud638\ub85c \ub300\uce58\ud558\ub294 \uac83\uacfc \ube44\uc2b7" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-1 \uac04\ub2e8\ud55c \ud568\uc218\uc758 \uc815\uc758\n", "- \ud568\uc218 \uc815\uc758\uc2dc \uc0ac\uc6a9\ud558\ub294 \ud0a4\uc6cc\ub4dc: def" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def add(a, b):\n", " return a+b\n", "\n", "print add(1, 2)\n", "print\n", "\n", "def myabs(x):\n", " if x < 0 : \n", " x = -x\n", " return x\n", "\n", "print abs(-4)\n", "print myabs(-4)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "3\n", "\n", "4\n", "4\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-2 \ud568\uc218 \uac1d\uccb4\uc640 \ud568\uc218 \ud638\ucd9c\n", "- \ud568\uc218\uc758 \uc774\ub984 \uc790\uccb4\ub294 \ud568\uc218 \uac1d\uccb4\uc758 \ub808\ud37c\ub7f0\uc2a4(Reference)\ub97c \uc9c0\ub2c8\uace0 \uc788\ub2e4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def add(a, b):\n", " return a + b\n", "\n", "print add" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "c = add(10, 30)\n", "print c" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "40\n" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \uc774\ub984\uc5d0 \uc800\uc7a5\ub41c \ub808\ud37c\ub7f0\uc2a4\ub97c \ub2e4\ub978 \ubcc0\uc218\uc5d0 \ud560\ub2f9\ud558\uc5ec \uadf8 \ubcc0\uc218\ub97c \uc774\uc6a9\ud55c \ud568\uc218 \ud638\ucd9c \uac00\ub2a5 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "f = add\n", "print f(4, 5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "9\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "print f\n", "\n", "print f is add" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "True\n" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218\uc758 \ubab8\uccb4\uc5d0\ub294 \ucd5c\uc18c\ud55c \ud55c\uac1c \uc774\uc0c1\uc758 statement\uac00 \uc874\uc7ac\ud574\uc57c \ud568\n", " - \uc544\ubb34\ub7f0 \ub0b4\uc6a9\uc774 \uc5c6\ub294 \ubab8\uccb4\ub97c \uc9c0\ub2cc \ud568\uc218\ub97c \ub9cc\ub4e4 \ub54c\uc5d0\ub294 pass \ub77c\ub294 \ud0a4\uc6cc\ub4dc\ub97c \ubab8\uccb4\uc5d0 \uc801\uc5b4\uc8fc\uc5b4\uc57c \ud568" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def simpleFunction():\n", " pass\n", "\n", "simpleFunction()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \uc0ac\uc6a9 \uc608" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def addmember(members, newmember):\n", " if newmember not in members: # \uae30\uc874 \uba64\ubc84\uac00 \uc544\ub2c8\uba74\n", " members.append(newmember) # \ucd94\uac00\n", "\n", "members = ['hwang', 'lee', 'park', 'youn'] # \ub9ac\uc2a4\ud2b8\uc5d0 \ucd08\uae30 \uba64\ubc84 \uc124\uc815\n", "\n", "addmember(members, 'jo') # \uc0c8\ub85c\uc6b4 \uba64\ubc84 \ucd94\uac00\n", "\n", "addmember(members, 'hwang') # (\uc774\ubbf8 \uc874\uc7ac\ud558\ub294) \uc0c8\ub85c\uc6b4 \uba64\ubc84 \ucd94\uac00\n", "\n", "print members" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['hwang', 'lee', 'park', 'youn', 'jo']\n" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-3 \ud568\uc218 \uc778\uc218\uac12 \uc804\ub2ec\ubc29\ubc95\n", "- \ud30c\uc774\uc36c\uc5d0\uc11c\uc758 \uc778\uc218\uac12 \uc804\ub2ec \ubc29\ubc95\n", " - \uae30\ubcf8\uc801\uc73c\ub85c \uac12\uc5d0 \uc758\ud55c \ud638\ucd9c(Call-by-Value)\n", " - \ud558\uc9c0\ub9cc \ubcc0\uc218\uc5d0 \uc800\uc7a5\ub41c \uac12\uc774 \ucc38\uc870\uac12(Reference)\uc774\ubbc0\ub85c \uc2e4\uc81c\ub85c\ub294 \ucc38\uc870\uc5d0 \uc758\ud55c \ud638\ucd9c(Call-by-Reference)\ub85c \uc2e4\ud589\ub428" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \uc778\uc790\uc5d0 \ubcc0\uacbd\ubd88\uac00\ub2a5(Immutable) \uac1d\uccb4\uc778 \uc22b\uc790\uac12\uc744 \uc804\ub2ec\n", " - \ud568\uc218 \ub0b4\uc5d0\uc11c \ub2e4\ub978 \uc22b\uc790\uac12\uc73c\ub85c \uce58\ud658 --> \uc758\ubbf8 \uc5c6\ub294 \uc778\uc790 \uc804\ub2ec" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f1(b):\n", " b = 100\n", "\n", "a = 200\n", "f1(a)\n", "print a" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "200\n" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "![image](images/function_arg_int.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \uc778\uc790\uc5d0 \ubcc0\uacbd\ubd88\uac00\ub2a5(Immutable) \uac1d\uccb4\uc778 \ubb38\uc790\uc5f4\uc744 \uc804\ub2ec\n", " - \ud568\uc218 \ub0b4\uc5d0\uc11c \ub2e4\ub978 \ubb38\uc790\uc5f4\ub85c \uce58\ud658 --> \uc758\ubbf8 \uc5c6\ub294 \uc778\uc790 \uc804\ub2ec" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f2(b):\n", " b = \"abc\"\n", "\n", "a = \"def\"\n", "f2(a)\n", "print a" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "def\n" ] } ], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": [ "![image](images/function_arg_str.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \uc778\uc790\uc5d0 \ubcc0\uacbd\ubd88\uac00\ub2a5(Immutable) \uac1d\uccb4\uc778 \ud29c\ud50c\uc744 \uc804\ub2ec\n", " - \ud568\uc218 \ub0b4\uc5d0\uc11c \ub2e4\ub978 \ud29c\ud50c\ub85c \uce58\ud658 --> \uc758\ubbf8 \uc5c6\ub294 \uc778\uc790 \uc804\ub2ec" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f3(b):\n", " b = (1,2,3)\n", "\n", "a = (4,5,6)\n", "f3(a)\n", "print a" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(4, 5, 6)\n" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "![image](images/function_arg_tuple.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \uc778\uc790\uc5d0 \ubcc0\uacbd\uac00\ub2a5\ud55c(Mutable)\ud55c \uac1d\uccb4\uc778 \ub9ac\uc2a4\ud2b8 \uc804\ub2ec \ubc0f \ub0b4\uc6a9 \uc218\uc815\n", " - \uc804\ud615\uc801\uc778 \ud568\uc218 \uc778\uc790 \uc804\ub2ec\ubc95 \ubc0f \ud65c\uc6a9\ubc95" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f4(b):\n", " b[1] = 10\n", "\n", "a = [4,5,6]\n", "f4(a)\n", "print a" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[4, 10, 6]\n" ] } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "![image](images/function_arg_list.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \uc778\uc790\uc5d0 \ubcc0\uacbd\uac00\ub2a5\ud55c(Mutable)\ud55c \uac1d\uccb4\uc778 \uc0ac\uc804 \uc804\ub2ec \ubc0f \ub0b4\uc6a9 \uc218\uc815\n", " - \uc804\ud615\uc801\uc778 \ud568\uc218 \uc778\uc790 \uc804\ub2ec\ubc95 \ubc0f \ud65c\uc6a9\ubc95" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f5(b):\n", " b['a'] = 10\n", "\n", "a = {\"a\":1, \"b\":2}\n", "f5(a)\n", "print a" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "{'a': 10, 'b': 2}\n" ] } ], "prompt_number": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "![image](images/function_arg_dict.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-4 \ubc18\ud658(return)\ubb38" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \uc778\uc218 \uc5c6\uc774 return \ubb38\uc744 \uc0ac\uc6a9\ud558\uba74 \uc2e4\uc81c\ub85c\ub294 None \uac1d\uccb4\uac00 \uc804\ub2ec\ub41c\ub2e4.\n", " - None \uac1d\uccb4: \ud30c\uc774\uc36c \ub0b4\uc7a5 \uac1d\uccb4\ub85c\uc11c \uc544\ubb34 \uac12\ub3c4 \uc5c6\uc74c\uc744 \ub098\ud0c0\ub0b4\uae30 \uc704\ud55c \uac1d\uccb4" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def nothing():\n", " return\n", "\n", "print nothing()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "None\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- return\ubb38 \uc5c6\uc774 \ub9ac\ud134\ud558\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def print_menu():\n", " print '1. Snack'\n", " print '2. Snake'\n", " print '3. Snick'\n", " \n", "print_menu()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1. Snack\n", "2. Snake\n", "3. Snick\n" ] } ], "prompt_number": 38 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- return\ubb38 \uc5c6\ub294 \ud568\uc218\ub77c\uace0 \ud560 \uc9c0\ub77c\ub3c4 \uc2e4\uc81c\ub85c\ub294 None \uac1d\uccb4\uac00 \uc804\ub2ec\ub428" ] }, { "cell_type": "code", "collapsed": false, "input": [ "a = print_menu()\n", "\n", "print a" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1. Snack\n", "2. Snake\n", "3. Snick\n", "None\n" ] } ], "prompt_number": 50 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud55c \uac1c\uc758 \uac12\uc744 \ub9ac\ud134\ud560 \ub54c" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def abs(x):\n", " if x < 0 : return -x\n", " return x\n", "\n", "print abs(-10)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "10\n" ] } ], "prompt_number": 40 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ub450 \uac1c \uc774\uc0c1\uc758 \uac12\uc744 \ub9ac\ud134\ud560 \ub54c" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def swap(x, y):\n", " return y, x # \ud29c\ud50c\ub85c \ub9ac\ud134\ub41c\ub2e4.\n", "\n", "a = 10\n", "b = 20\n", "print a, b\n", "print \n", "\n", "a, b = swap(a, b) # \uacb0\uacfc\uc801\uc73c\ub85c a, b = b, a\uc640 \ub3d9\uc77c\n", "print a, b\n", "print\n", "\n", "a = 10\n", "b = 20\n", "x = swap(a, b)\n", "print x[0], x[1] # \ud558\ub098\uc758 \uc774\ub984\uc73c\ub85c \ud29c\ud50c\uc744 \ubc1b\uc544\uc11c \ucc98\ub9ac\ud560 \uc218 \ub3c4\uc788\ub2e4." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "10 20\n", "\n", "20 10\n", "\n", "20 10\n" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \uc0c8\ub85c\uc6b4 \ub9ac\uc2a4\ud2b8\ub97c \ub9ac\ud134\ud558\ub294 \ud568\uc218 \uc608\n", " - \ubb38\uc790\uc5f4 \ub9ac\uc2a4\ud2b8\ub97c \ubc1b\uc544\uc11c \uac01 \ubb38\uc790\uc5f4\uc758 \uae38\uc774 \uc815\ubcf4\ub97c \uc9c0\ub2cc \ub9ac\uc2a4\ud2b8\ub97c \ub9ac\ud134 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "def length_list(l):\n", " res = []\n", " for el in l:\n", " res.append(len(el))\n", " return res\n", "\n", "l = ['python', 'pyson', 'pythong', 'pydon']\n", "print length_list(l)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[6, 5, 7, 5]\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "l = ['python', 'pyson', 'pythong', 'pydon']\n", "print [len(s) for s in l]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[6, 5, 7, 5]\n" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-5 \ud568\uc218 \uc778\uc790\uc5d0 \ub300\ud55c \ub3d9\uc801\uc778 \uc790\ub8cc\ud615 \uacb0\uc815\n", "- \ud30c\uc774\uc36c\uc5d0\uc11c\ub294 \ubaa8\ub4e0 \uac1d\uccb4\ub294 \ub3d9\uc801\uc73c\ub85c (\uc2e4\ud589\uc2dc\uac04\uc5d0) \uadf8 \ud0c0\uc785\uc774 \uacb0\uc815\ub41c\ub2e4.\n", "- \uadf8\ub7ec\ubbc0\ub85c, \ud568\uc218 \uc778\uc790\ub294 \ud568\uc218\uac00 \ud638\ucd9c\ub418\ub294 \uc21c\uac04 \ud574\ub2f9 \uc778\uc790\uc5d0 \uc804\ub2ec\ub418\ub294 \uac1d\uccb4\uc5d0 \ub530\ub77c \uadf8 \ud0c0\uc785\uc774 \uacb0\uc815\ub41c\ub2e4.\n", " - \ud568\uc218 \ubab8\uccb4 \ub0b4\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \uc5ec\ub7ec\uac00\uc9c0 \uc5f0\uc0b0\uc790\ub4e4\uc740 \ud568\uc218 \ud638\ucd9c\uc2dc\uc5d0 \uacb0\uc815\ub41c \uac1d\uccb4 \ud0c0\uc785\uc5d0 \ub9de\uac8c \uc2e4\ud589\ub41c\ub2e4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def add(a, b):\n", " return a + b\n", "\n", "c = add(1, 3.4)\n", "d = add('dynamic', 'typing')\n", "e = add(['list'], ['and', 'list'])\n", "print c\n", "print d\n", "print e" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "4.4\n", "dynamictyping\n", "['list', 'and', 'list']\n" ] } ], "prompt_number": 49 }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "## 2 \ud568\uc218 \uc778\uc218 \ucc98\ub9ac\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2-1 \uae30\ubcf8 \uc778\uc218 \uac12\n", "- \uae30\ubcf8 \uc778\uc218 \uac12\n", " - \ud568\uc218\ub97c \ud638\ucd9c\ud560 \ub54c \uc778\uc218\ub97c \ub118\uaca8\uc8fc\uc9c0 \uc54a\uc544\ub3c4 \uc778\uc218\uac00 \uae30\ubcf8\uc801\uc73c\ub85c \uac00\uc9c0\ub294 \uac12" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def incr(a, step=1):\n", " return a + step\n", "\n", "b = 1\n", "b = incr(b) # 1 \uc99d\uac00\n", "print b\n", "\n", "b = incr(b, 10) # 10 \uc99d\uac00\n", "print b" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "2\n", "12\n" ] } ], "prompt_number": 81 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [\uc8fc\uc758] \ud568\uc218 \uc815\uc758\ub97c \ud560 \ub54c \uae30\ubcf8 \uac12\uc744 \uc9c0\ub2cc \uc778\uc218 \ub4a4\uc5d0 \uc77c\ubc18\uc801\uc778 \uc778\uc218\uac00 \uc62c \uc218 \uc5c6\uc74c" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def incr(step=1, a):\n", " return a + step" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "SyntaxError", "evalue": "non-default argument follows default argument (, line 1)", "output_type": "pyerr", "traceback": [ "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m def incr(step=1, a):\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m non-default argument follows default argument\n" ] } ], "prompt_number": 82 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \uc815\uc758 \uc2dc\uc5d0 \uc5ec\ub7ec \uac1c\uc758 \uae30\ubcf8 \uc778\uc218 \uac12 \uc815\uc758 \uac00\ub2a5" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def incr(a, step=1, step2=10):\n", " return a + step + step2\n", "\n", "print incr(10)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "21\n" ] } ], "prompt_number": 83 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2-2 \ud0a4\uc6cc\ub4dc \uc778\uc218\n", "- \ud0a4\uc6cc\ub4dc \uc778\uc218\n", " - \uc778\uc218 \uac12 \uc804\ub2ec \uc2dc\uc5d0 \uc778\uc218 \uc774\ub984\uacfc \ud568\uaed8 \uac12\uc744 \uc804\ub2ec\ud558\ub294 \ubc29\uc2dd\uc744 \uc77c\uceeb\ub294\ub2e4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def area(height, width):\n", " return height * width\n", "\n", "#\uc21c\uc11c\uac00 \uc544\ub2cc \uc774\ub984\uc73c\ub85c \uac12\uc774 \uc804\ub2ec\n", "a = area(height='height string ', width=3)\n", "print a\n", "\n", "b = area(width=20, height=10)\n", "print b" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "height string height string height string \n", "200\n" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218\ub97c \ud638\ucd9c \ud560 \ub54c\uc5d0 \ud0a4\uc6cc\ub4dc \uc778\uc218\ub294 \ub9c8\uc9c0\ub9c9\uc5d0 \ub193\uc5ec\uc838\uc57c \ud55c\ub2e4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "print area(20, width=5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "100\n" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [\uc8fc\uc758] \ud568\uc218 \ud638\ucd9c\uc2dc\uc5d0 \ud0a4\uc6cc\ub4dc \uc778\uc218 \ub4a4\uc5d0 \uc77c\ubc18 \uc778\uc218 \uac12\uc774 \uc62c \uc218 \uc5c6\ub2e4. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "area(width=5, 20)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "SyntaxError", "evalue": "non-keyword arg after keyword arg (, line 1)", "output_type": "pyerr", "traceback": [ "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m area(width=5, 20)\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m non-keyword arg after keyword arg\n" ] } ], "prompt_number": 80 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \uae30\ubcf8 \uc778\uc218\uac12 \ubc0f \ud0a4\uc6cc\ub4dc \uc778\uc218\uc758 \ud63c\uc6a9" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def incr(a, step=1, step2=10, step3=100):\n", " return a + step + step2 + step3\n", "\n", "print incr(10, 2, step2=100)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "212\n" ] } ], "prompt_number": 88 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \ud638\ucd9c \uc2dc\uc5d0 \ud0a4\uc6cc\ub4dc \uc778\uc218 \ub4a4\uc5d0 \uc77c\ubc18 \uc778\uc218 \uac12\uc774 \uc624\uba74 \uc5d0\ub7ec " ] }, { "cell_type": "code", "collapsed": false, "input": [ "def incr(a, step=1, step2=10, step3=100):\n", " return a + step + step2 + step3\n", "\n", "print incr(10, 2, step2=100, 200)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "SyntaxError", "evalue": "non-keyword arg after keyword arg (, line 4)", "output_type": "pyerr", "traceback": [ "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m4\u001b[0m\n\u001b[0;31m print incr(10, 2, step2=100, 200)\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m non-keyword arg after keyword arg\n" ] } ], "prompt_number": 89 }, { "cell_type": "code", "collapsed": false, "input": [ "def incr(a, step=1, step2=10, step3=100):\n", " return a + step + step2 + step3\n", "\n", "print incr(10, 2, step2=100, step3=200)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "312\n" ] } ], "prompt_number": 90 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2-3 \uac00\ubcc0 \uc778\uc218 \ub9ac\uc2a4\ud2b8\n", "- \ud568\uc218 \uc815\uc758\uc2dc\uc5d0 \uc77c\ubc18\uc801\uc778 \uc778\uc218 \uc120\uc5b8 \ub4a4\uc5d0 *var \ud615\uc2dd\uc758 \uc778\uc218\ub85c \uac00\ubcc0 \uc778\uc218\ub97c \uc120\uc5b8\ud560 \uc218 \uc788\uc74c\n", " - var\uc5d0\ub294 \ud568\uc218 \ud638\ucd9c\uc2dc \ub123\uc5b4\uc8fc\ub294 \uc778\uc218 \uac12\ub4e4 \uc911 \uc77c\ubc18 \uc778\uc218\uc5d0 \ud560\ub2f9\ub418\ub294 \uac12\uc744 \uc81c\uc678\ud55c \ub098\uba38\uc9c0 \uac12\ub4e4\uc744 \uc9c0\ub2cc \ud29c\ud50c \uac1d\uccb4\uac00 \ud560\ub2f9\ub41c\ub2e4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def varg(a, *arg):\n", " print a, arg\n", "\n", "varg(1)\n", "varg(2,3)\n", "varg(2,3,4,5,6)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1 ()\n", "2 (3,)\n", "2 (3, 4, 5, 6)\n" ] } ], "prompt_number": 91 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- C\uc5b8\uc5b4\uc758 printf\ubb38\uacfc \uc720\uc0ac\ud55c \ud615\ud0dc\uc758 printf \uc815\uc758 \ubc29\ubc95" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def printf(format, *args):\n", " print format % args\n", "\n", "printf(\"I've spent %d days and %d night to do this\", 6, 5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "I've spent 6 days and 5 night to do this\n" ] } ], "prompt_number": 84 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2-5 \ud29c\ud50c \uc778\uc218\uc640 \uc0ac\uc804 \uc778\uc218\ub85c \ud568\uc218 \ud638\ucd9c\ud558\uae30\n", "- \ud568\uc218 \ud638\ucd9c\uc5d0 \uc0ac\uc6a9\ub420 \uc778\uc218\uac12\ub4e4\uc774 \ud29c\ud50c\uc5d0 \uc788\ub2e4\uba74 \"*\ud29c\ud50c\ubcc0\uc218\"\ub97c \uc774\uc6a9\ud558\uc5ec \ud568\uc218 \ud638\ucd9c\uc774 \uac00\ub2a5" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def h(a, b, c):\n", " print a,b,c\n", " \n", "args = (1, 2, 3)\n", "h(*args)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1 2 3\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ud568\uc218 \ud638\ucd9c\uc5d0 \uc0ac\uc6a9\ub420 \uc778\uc218\uac12\ub4e4\uc774 \uc0ac\uc804\uc5d0 \uc788\ub2e4\uba74 \"*\uc0ac\uc804\ubcc0\uc218\"\ub97c \uc774\uc6a9\ud558\uc5ec \ud568\uc218 \ud638\ucd9c\uc774 \uac00\ub2a5" ] }, { "cell_type": "code", "collapsed": false, "input": [ "dargs = {'a':1, 'b':2, 'c':3}\n", "h(**dargs)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1 2 3\n" ] } ], "prompt_number": 88 }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\ucc38\uace0 \ubb38\ud5cc: \ud30c\uc774\uc36c(\uc5f4\ud608\uac15\uc758)(\uac1c\uc815\ud310 VER.2), \uc774\uac15\uc131, FreeLec, 2005\ub144 8\uc6d4 29\uc77c

" ] } ], "metadata": {} } ] }