{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "***\n", "# 2. 파이썬 언어의 기본문형\n", "***\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "## 1 파이썬 예약어 및 내장 함수\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-1 예약어 (Reserved Words)\n", "- 예약어 (또는 키워드)\n", " - 파이썬에서 이미 문법적인 용도로 사용되고 있기 때문에 변수명등의 식별자로 사용하면 안되는 단어들" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-2 예약어의 종류 알아보기" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']\n", "\n", "33\n" ] } ], "source": [ "import keyword\n", "\n", "print(keyword.kwlist)\n", "print()\n", "print(len(keyword.kwlist))\n", "\n", "# python3에 추가됨 : 'False', 'None', 'True', 'nonlocal' \n", "# python3에서는 제거됨 : 'exec', 'print'\n", "#\n", "# Python2 : \n", "# ['and', 'as', 'assert', 'break', 'class', \n", "# 'continue', 'def', 'del', 'elif', 'else', \n", "# 'except', 'exec', 'finally', 'for', 'from', \n", "# 'global', 'if', 'import', 'in', 'is', 'lambda', \n", "# 'not', 'or', 'pass', 'print', 'raise', 'return', \n", "# 'try', 'while', 'with', 'yield']\n", "#\n", "# 31" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-3 내장 함수 (Built-in Function)\n", "- 별도의 모듈(Module)의 추가 없이 기본적으로 제공되는 함수들\n", "- 참고 사이트\n", " 1. 내장(Built-in) 함수: https://docs.python.org/3.6/library/functions.html\n", "- 대표적인 내장 함수\n", " - abs, max, min, pow, chr, str, range, type, ..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- abs(x)\n", " - 수치형 자료 x에 대해 x의 절대값을 반환하는 함수" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n", "3\n" ] } ], "source": [ "print(abs(3))\n", "print(abs(-3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- max(s)\n", " - 시퀀스 자료형(문자열, 리스트, 튜플)을 입력받아 그 자료가 지닌 원소 중 최대값을 반환하는 함수" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n", "3\n", "y\n" ] } ], "source": [ "print(max(1, 2))\n", "print(max([1, 2, 3]))\n", "print(max(\"python\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- min(s)\n", " - 시퀀스 자료형(문자열, 리스트, 튜플)을 입력받아 그 자료가 지닌 원소 중 최소값을 반환하는 함수" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "1\n", "h\n" ] } ], "source": [ "print(min(1, 2))\n", "print(min([1, 2, 3]))\n", "print(min(\"python\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- pow(x,y)\n", " - 수치형 자료형 x, y에 대해 x의 y승을 반환하는 함수" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "16\n", "27\n", "0.5\n" ] } ], "source": [ "print(pow(2, 4))\n", "print(pow(3, 3))\n", "print(pow(2, -1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- chr(i)\n", " - 정수 형태의 Unicode값을 입력으로 받아 그에 해당하는 문자를 반환하는 함수\n", " - 인수 i의 범위: 0부터 0x10ffff (Decimal표현으로 1114111) 까지" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a\n", "A\n", "0\n" ] } ], "source": [ "print(chr(97))\n", "print(chr(65))\n", "print(chr(48))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- str(object)\n", "
str(object='') -> str\n", " - 임의의 객체 object에 대해 해당 객체를 표현하는 문자열을 반환하는 함수\n", " - Create a new string object from the given object." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n", "[1, 2]\n" ] } ], "source": [ "print(str(3))\n", "print(str([1, 2]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- range\n", "
\n", " range(stop) -> range object\n", "range(start, stop[, step]) -> range object\n", " - 수치형 자료형으로 start, stop, step 등을 입력받아 start부터 stop까지의 정수값들이 순차적으로 들어 있는 range object를 리스트로 반환하는 함수\n", " - Python2에서는 range()의 결과로 곧바로 리스트가 반환됨\n", " - 인수가 하나(stop)인 경우\n", " - 0(디폴트 값)부터 stop-1까지의 정수 리스트를 반환한다.\n", " - 인수가 두 개(start, stop)인 경우\n", " - start부터 stop-1까지의 정수 리스트를 반환한다.\n", " - 인수가 세 개(start, stop, step)인 경우\n", " - start부터 stop-1까지의 정수를 반환하되 각 정수 사이의 거리가 step인 것들만 반환한다.\n", " " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "range(0, 10)\n", "range(3, 10)\n", "range(3, 10, 2)\n", "\n", "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", "[3, 4, 5, 6, 7, 8, 9]\n", "[3, 5, 7, 9]\n" ] } ], "source": [ "print(range(10))\n", "print(range(3, 10))\n", "print(range(3, 10, 2))\n", "# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n", "# [3, 4, 5, 6, 7, 8, 9]\n", "# [3, 5, 7, 9]\n", "print()\n", "\n", "print(list(range(10)))\n", "print(list(range(3, 10)))\n", "print(list(range(3, 10, 2)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- type(object)\n", " - 임의의 객체 object의 자료형을 반환하는 함수" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
int(x=0) -> integer\n", "int(x, base=10) -> integer" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n", "0\n" ] } ], "source": [ "print(int(3.14)) # For floating point numbers, this truncates towards zero. 0이 되는 방향으로 소숫점 이하를 버림\n", "print(int()) # return 0 if no arguments are given. 그냥 int()는 0을 리턴" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "int : 10\n", "10\n", "
end=' '
를 사용 (디폴트는 end='\\n'
)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1, 2\n",
"\n",
"1 2\n"
]
}
],
"source": [
"print(1, end=\", \")\n",
"print(2)\n",
"\n",
"print()\n",
"\n",
"print(1, end=\" \")\n",
"print(2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- +연산자는 숫자와 문자열에 대한 연산을 지원하지 않는다."
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "unsupported operand type(s) for +: 'int' and 'str'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m참고 문헌: 파이썬(열혈강의)(개정판 VER.2), 이강성, FreeLec, 2005년 8월 29일
" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }