{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 47. 지연 계산 애트리뷰트가 필요하면 \\_\\_getattr\\_\\_, \\_\\_getattribute\\_\\_, \\_\\_setattr\\_\\_을 사용하라"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "파이썬에서는 \\_\\_getattr\\_\\_이라는 특별 메서드를 사용해 동적 기능을 활용할 수 있다.\n",
    "\n",
    "어떤 클래스안에 \\_\\_getattr\\_\\_ 메서드 정의가 있으면, 이 객체의 인스턴스 딕셔너리에서 찾을 수 없는 애트리뷰트에 접근할 때마다 \\_\\_getattr\\_\\_이 호출된다."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "class LazyRecord:\n",
    "    def __init__(self):\n",
    "        self.exists = 5\n",
    "\n",
    "    def __getattr__(self, name):\n",
    "        value = f'{name}의 값'\n",
    "        setattr(self, name, value)\n",
    "        return value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "이전: {'exists': 5}\n",
      "foo: foo의 값\n",
      "이후: {'exists': 5, 'foo': 'foo의 값'}\n"
     ]
    }
   ],
   "source": [
    "data = LazyRecord()\n",
    "print('이전:', data.__dict__)\n",
    "print('foo:', data.foo)\n",
    "print('이후:', data.__dict__)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "LazyRecord에 로그를 추가해서 언제 호출되는지 확인해보자.\n",
    "\n",
    "무한 재귀를 피하고 실제 프로퍼티 값을 가져오기 위해 super().\\_\\_getattr\\_\\_()을 사용한다."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "class LoggingLazyRecord(LazyRecord):\n",
    "    def __getattr__(self, name):\n",
    "        print(f'* 호출: __getattr__({name!r}), '\n",
    "              f'인스턴스 딕셔너리 채워 넣음')\n",
    "        result = super().__getattr__(name)\n",
    "        print(f'* 반환: {result!r}')\n",
    "        return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "exists:  5\n",
      "* 호출: __getattr__('foo'), 인스턴스 딕셔너리 채워 넣음\n",
      "* 반환: 'foo의 값'\n",
      "첫 번째 foo:  foo의 값\n",
      "두 번째 foo:  foo의 값\n"
     ]
    }
   ],
   "source": [
    "data = LoggingLazyRecord()\n",
    "print('exists: ', data.exists)\n",
    "print('첫 번째 foo: ', data.foo)\n",
    "print('두 번째 foo: ', data.foo)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": []
   },
   "source": [
    "foo 애트리뷰트는 처음에 인스턴스 딕셔너리에 없으므로 맨 처음 foo에 접근하면 \\_\\_getattr\\_\\_이 호출된다.\n",
    "\n",
    "이러한 기능은 지연 계산으로 접근하는 등의 활이 필요할 때 유용하다.\n",
    "\n",
    "\\_\\_getattribute\\_\\_는 객체의 애트리뷰트에 접근 할 때마다 호출된다."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "class ValidatingRecord:\n",
    "    def __init__(self):\n",
    "        self.exists = 5\n",
    "        \n",
    "    def __getattribute__(self, name):\n",
    "        print(f'* 호출: __getattr__({name!r})')\n",
    "        try:\n",
    "            value = super().__getattribute__(name)\n",
    "            print(f'* {name!r} 찾음, {value!r} 반환')\n",
    "            return value\n",
    "        except AttributeError:\n",
    "            value = f'{name}을 위한 값'\n",
    "            print(f'* {name!r}를 {value!r}로 설정')\n",
    "            setattr(self, name, value)\n",
    "            return value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "* 호출: __getattr__('exists')\n",
      "* 'exists' 찾음, 5 반환\n",
      "exists:  5\n",
      "* 호출: __getattr__('foo')\n",
      "* 'foo'를 'foo을 위한 값'로 설정\n",
      "첫 번째 foo:  foo을 위한 값\n",
      "* 호출: __getattr__('foo')\n",
      "* 'foo' 찾음, 'foo을 위한 값' 반환\n",
      "두 번째 foo:  foo을 위한 값\n"
     ]
    }
   ],
   "source": [
    "data = ValidatingRecord()\n",
    "print('exists: ', data.exists)\n",
    "print('첫 번째 foo: ', data.foo)\n",
    "print('두 번째 foo: ', data.foo)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "존재하지 않는 프로퍼티에 동적으로 접근하는 경우에는 AttributeError 예외가 발생한다."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "class MissingPropertyRecord:\n",
    "    def __getattr__(self, name):\n",
    "        if name == 'bad_name':\n",
    "            raise AttributeError(f'{name}을 찾을 수 없음')\n",
    "        return 1 # 무조건 1 반환"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "bad_name을 찾을 수 없음",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-10-396912bb8b38>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mMissingPropertyRecord\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbad_name\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m<ipython-input-9-4e899a9e3dec>\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m      2\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__getattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mname\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'bad_name'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m             \u001b[0;32mraise\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'{name}을 찾을 수 없음'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      5\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;31m# 무조건 1 반환\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mAttributeError\u001b[0m: bad_name을 찾을 수 없음"
     ]
    }
   ],
   "source": [
    "data = MissingPropertyRecord()\n",
    "data.bad_name"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "파이썬에서 일반적인 기능을 구현하는 코드가 hasattr 내장 함수를 통해 프로퍼티가 존재하는지 검사하는 기능과 getattr 내장 함수를 통해 프로퍼티값을 꺼내오는 기능에 의존할 때도 있다.\n",
    "\n",
    "이 두 함수도 __getattr__을 호출하기 전에 애트리뷰트 이름을 인스턴스 딕셔너리에서 검색한다."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "이전:  {'exists': 5}\n",
      "* 호출: __getattr__('foo'), 인스턴스 딕셔너리 채워 넣음\n",
      "* 반환: 'foo의 값'\n",
      "최초에 foo가 있나:  True\n",
      "이후:  {'exists': 5, 'foo': 'foo의 값'}\n",
      "다음에 foo가 있나:  True\n"
     ]
    }
   ],
   "source": [
    "data = LoggingLazyRecord() # __getattr__을 구현\n",
    "print('이전: ', data.__dict__)\n",
    "print('최초에 foo가 있나: ', hasattr(data, 'foo'))\n",
    "print('이후: ', data.__dict__)\n",
    "print('다음에 foo가 있나: ', hasattr(data, 'foo'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "* 호출: __getattr__('foo')\n",
      "* 'foo'를 'foo을 위한 값'로 설정\n",
      "최초에 foo가 있나:  True\n",
      "* 호출: __getattr__('foo')\n",
      "* 'foo' 찾음, 'foo을 위한 값' 반환\n",
      "다음에 foo가 있나:  True\n"
     ]
    }
   ],
   "source": [
    "data = ValidatingRecord() # __getattribute__를 구현\n",
    "print('최초에 foo가 있나: ', hasattr(data, 'foo'))\n",
    "print('다음에 foo가 있나: ', hasattr(data, 'foo'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "__setattr__은 인스턴스의 애트리뷰트에 대입이 이뤄질 때 마다 항상 호출된다."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "class SavingRecord:\n",
    "    def __setattr__(self, name, value):\n",
    "        # 데이터를 데이터베이스 레코드에 저장한다\n",
    "        super().__setattr__(name, value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "class LoggingSavingRecord(SavingRecord):\n",
    "    def __setattr__(self, name, value):\n",
    "        print(f'* 호출: __setattr__({name!r}, {value!r})')\n",
    "        super().__setattr__(name, value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "이전:  {}\n",
      "* 호출: __setattr__('foo', 5)\n",
      "이후:  {'foo': 5}\n",
      "* 호출: __setattr__('foo', 7)\n",
      "최후: {'foo': 7}\n"
     ]
    }
   ],
   "source": [
    "data = LoggingSavingRecord()\n",
    "print('이전: ', data.__dict__)\n",
    "data.foo = 5\n",
    "print('이후: ', data.__dict__)\n",
    "data.foo = 7\n",
    "print('최후:', data.__dict__)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\_\\_getattribute\\_\\_와 \\_\\_setattr\\_\\_의 문제점은 원하든 원하지 않든 객체의 모든 애트리뷰트에 접근할 때마다 호출된다.\n",
    "\n",
    "예를 들어 어떤 객체와 관련된 딕셔너리에 키가 있을 떄만 이 객체의 애트리뷰트에 접근하고 싶다고 하자."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "class BrokenDictionaryRecord:\n",
    "    def __init__(self, data):\n",
    "        self._data = {}\n",
    "        \n",
    "    def __getattribute__(self, name):\n",
    "        print(f'* 호출: __getattribute__({name!r})')\n",
    "        return self._data[name]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "* 호출: __getattribute__('foo')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n",
      "* 호출: __getattribute__('_data')\n"
     ]
    },
    {
     "ename": "RecursionError",
     "evalue": "maximum recursion depth exceeded while calling a Python object",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mRecursionError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-18-d8be82000f99>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mBrokedata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mBrokenDictionaryRecord\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m'foo'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfoo\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m<ipython-input-17-cdb5fea0ddc4>\u001b[0m in \u001b[0;36m__getattribute__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m      5\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      6\u001b[0m         \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'* 호출: __getattribute__({name!r})'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "... last 1 frames repeated, from the frame below ...\n",
      "\u001b[0;32m<ipython-input-17-cdb5fea0ddc4>\u001b[0m in \u001b[0;36m__getattribute__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m      5\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      6\u001b[0m         \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'* 호출: __getattribute__({name!r})'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mRecursionError\u001b[0m: maximum recursion depth exceeded while calling a Python object"
     ]
    }
   ],
   "source": [
    "data = Brokedata = BrokenDictionaryRecord({'foo': 3})\n",
    "data.foo"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "이 클래스 정의는 self._data에 대한 접근을 __getattribute__를 통해 수행하도록 요구한다.\n",
    "\n",
    "하지만 실제로 이 코드를 실행해보면, 파이썬이 스택을 다소모할 때 까지 재귀를 수행하다 죽어버린다."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "이 문제는 \\_\\_attribute\\_\\_가 self._data에 접근해서 \\_\\_gettribute\\_\\_가 다시 호출되기 때문이다.\n",
    "\n",
    "해결 방법은 super().\\_\\_attribute\\_\\_를 호출해 인스턴스 애트리뷰트 딕셔너리에서 값을 가져오는 것이다."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "class DictionaryRecord:\n",
    "    def __init__(self, data):\n",
    "        self._data = data\n",
    "\n",
    "    def __getattribute__(self, name):\n",
    "        print(f'* 호출: __getattribute__({name!r})')\n",
    "        data_dict = super().__getattribute__('_data')\n",
    "        return data_dict[name]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "* 호출: __getattribute__('foo')\n",
      "foo:  3\n"
     ]
    }
   ],
   "source": [
    "data = DictionaryRecord({'foo': 3})\n",
    "print('foo: ', data.foo)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 기억해야 할 내용\n",
    "- \\_\\_getattr\\_\\_과 \\_\\_setattr\\_\\_을 사용해 객체의 애트리뷰트를 지연해 가져오거나 저장할 수 있다.\n",
    "- \\_\\_getattr\\_\\_은 애트리뷰트가 존재하지 않을 때만 호출되지만, \\_\\_getattribute\\_\\_는 애트리뷰트를 읽을 때마다 항상 호출된다는 점을 이해하라.\n",
    "- \\_\\_getattribute\\_\\_와 \\_\\_setattr\\_\\_에서 무한 재귀를 피하려면 super()에 있는(즉, object 클래스에 있는) 메서드를 사용해 인스턴스 애트리뷰트에 접근하라."
   ]
  }
 ],
 "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.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}