Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 624712a

Browse files
1013
1 parent 35b186e commit 624712a

10 files changed

+383
-30
lines changed

‎.ipynb_checkpoints/20221014_Python_OOP_Structures_Classes-checkpoint.ipynb

Lines changed: 109 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@
271271
"id": "7c9c56ea",
272272
"metadata": {},
273273
"source": [
274-
"### class외부에서 선언 한 function > class 전용 method로 사용 불가능\n",
274+
"### 1.5. class외부에서 선언 한 function > class 전용 method로 사용 불가능\n",
275275
"\n",
276276
"- 함수 내부에서 obj.(_variable identifier_)을 조회 > 변수명 기준 > 사용 가능 함수인지 check\n",
277277
"\n",
@@ -361,7 +361,7 @@
361361
},
362362
{
363363
"cell_type": "code",
364-
"execution_count": 150,
364+
"execution_count": 1,
365365
"id": "d8a05db3",
366366
"metadata": {},
367367
"outputs": [
@@ -391,6 +391,113 @@
391391
"\n",
392392
"my_laptop.get_spec()"
393393
]
394+
},
395+
{
396+
"cell_type": "markdown",
397+
"id": "135a18b3",
398+
"metadata": {},
399+
"source": [
400+
"### 2.2. `self` keyword\n",
401+
"\n",
402+
"- `self`는 클래스로 생성한 객체(== instance, object) 자신의 주소를 나타낸다.\n",
403+
"\n",
404+
"- 자신의 주소를 나타내야 하는 이유는, 같은 class의 인스턴스들의 양식은 같지만 내용물은 독립적으로 저장되기 때문."
405+
]
406+
},
407+
{
408+
"cell_type": "markdown",
409+
"id": "d21f23a3",
410+
"metadata": {},
411+
"source": [
412+
"- Computer 객체 생성, cpu, ram, ssd에 임의의 값 지정, method 호출로 console에 정보 출력"
413+
]
414+
},
415+
{
416+
"cell_type": "code",
417+
"execution_count": 21,
418+
"id": "9fabf8f5",
419+
"metadata": {},
420+
"outputs": [
421+
{
422+
"name": "stdout",
423+
"output_type": "stream",
424+
"text": [
425+
"CPU = Ryzen7 4000series, RAM = 16GB, SSD = 512GB\n"
426+
]
427+
}
428+
],
429+
"source": [
430+
"class Computer():\n",
431+
" cpu = \"cpu\"\n",
432+
" ram = 0\n",
433+
" ssd = 0\n",
434+
" \n",
435+
" def get_info(self):\n",
436+
" print(\"CPU = {cpu}, RAM = {ram}GB, SSD = {ssd}GB\".format(cpu = self.cpu,\n",
437+
" ram = self.ram, ssd = self.ssd))\n",
438+
" def get_double_info(self, com):\n",
439+
" print(\"CPU = {cpu}, RAM = {ram}GB, SSD = {ssd}GB\".format(cpu = self.cpu,\n",
440+
" ram = self.ram, ssd = self.ssd)\n",
441+
" ,\"\\nCPU = {cpu}, RAM = {ram}GB, SSD = {ssd}GB\".format(cpu = com.cpu,\n",
442+
" ram = com.ram, ssd = com.ssd))\n",
443+
" \n",
444+
"com1 = Computer()\n",
445+
"com1.cpu = \"Ryzen7 4000series\"\n",
446+
"com1.ram = 16\n",
447+
"com1.ssd = 512\n",
448+
"\n",
449+
"com1.get_info()"
450+
]
451+
},
452+
{
453+
"cell_type": "markdown",
454+
"id": "f2316964",
455+
"metadata": {},
456+
"source": [
457+
"- 함수 선언시 method에 2개의 parameter `def [method](self, obj)` \n",
458+
"\\> method 사용: `self.[method](obj)` \n",
459+
"\\>`self.var`은 호출 객체의 variable, `obj.var`은 param obj의 variable"
460+
]
461+
},
462+
{
463+
"cell_type": "code",
464+
"execution_count": 22,
465+
"id": "6a3b1edc",
466+
"metadata": {},
467+
"outputs": [
468+
{
469+
"name": "stdout",
470+
"output_type": "stream",
471+
"text": [
472+
"CPU = Ryzen7 4000series, RAM = 16GB, SSD = 512GB \n",
473+
"CPU = intelCorei7, RAM = 32GB, SSD = 256GB\n"
474+
]
475+
}
476+
],
477+
"source": [
478+
"com2 = Computer()\n",
479+
"com2.cpu = \"intelCorei7\"\n",
480+
"com2.ram = 32\n",
481+
"com2.ssd = 256\n",
482+
"\n",
483+
"com1.get_double_info(com2)"
484+
]
485+
},
486+
{
487+
"cell_type": "code",
488+
"execution_count": null,
489+
"id": "fc7501d2",
490+
"metadata": {},
491+
"outputs": [],
492+
"source": []
493+
},
494+
{
495+
"cell_type": "code",
496+
"execution_count": null,
497+
"id": "6e84df27",
498+
"metadata": {},
499+
"outputs": [],
500+
"source": []
394501
}
395502
],
396503
"metadata": {

‎20221013_Python_crawler_with_traversal.ipynb

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,5 @@
11
{
22
"cells": [
3-
{
4-
"cell_type": "code",
5-
"execution_count": 4,
6-
"id": "ebf41e13",
7-
"metadata": {},
8-
"outputs": [],
9-
"source": [
10-
"# crwaling library import\n",
11-
"\n",
12-
"from bs4 import BeautifulSoup\n",
13-
"from selenium import webdriver\n",
14-
"import requests\n",
15-
"# 코드 진행 지연을 위한 time 임포트\n",
16-
"\n",
17-
"import time\n",
18-
"# 2022-07 이후 selenium 업데이트로 인한 XPATH 추적 시 사용하는 임포트\n",
19-
"\n",
20-
"from selenium.webdriver.common.by import By\n",
21-
"\n",
22-
"# file io\n",
23-
"import codecs"
24-
]
25-
},
263
{
274
"cell_type": "markdown",
285
"id": "15c52a2a",
@@ -55,6 +32,38 @@
5532
"> 다음페이지 버튼 XPATH 클릭으로 페이지 넘기기"
5633
]
5734
},
35+
{
36+
"cell_type": "code",
37+
"execution_count": null,
38+
"id": "fac285f7",
39+
"metadata": {},
40+
"outputs": [],
41+
"source": [
42+
"# crwaling library import\n",
43+
"from bs4 import BeautifulSoup\n",
44+
"from selenium import webdriver\n",
45+
"import requests\n",
46+
"\n",
47+
"# 코드 진행 지연을 위한 time 임포트\n",
48+
"import time\n",
49+
"\n",
50+
"# 2022-07 이후 selenium 업데이트로 인한 XPATH 추적 시 사용하는 임포트\n",
51+
"from selenium.webdriver.common.by import By\n",
52+
"\n",
53+
"# file io\n",
54+
"import codecs"
55+
]
56+
},
57+
{
58+
"cell_type": "markdown",
59+
"id": "81fa56ce",
60+
"metadata": {},
61+
"source": [
62+
"- 리스트 형식 페이지: [F12] + [Network menu click] > 리스트 다음 페이지 클릭 \n",
63+
"\\> url 바뀌지 않아도, Network 변경사항을 [Headers], [Payload] tab에서 확인 가능 \n",
64+
"\\> XPATH 구하기 가능!"
65+
]
66+
},
5867
{
5968
"cell_type": "code",
6069
"execution_count": 5,
@@ -73,8 +82,6 @@
7382
}
7483
],
7584
"source": [
76-
"# 리스트 형식 페이지 > url 바뀌지 않아도 > F12 + Network menu click > \n",
77-
"# 리스트 다음 페이지 클릭 > Network 변경사항을 Headers, Payload tab에서 확인 가능\n",
7885
"chrome_driver = webdriver.Chrome('chromedriver')\n",
7986
"\n",
8087
"# approach first page\n",

‎20221013_Python_crawler_with_traversal_in_Nested_loop.ipynb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3433,7 +3433,8 @@
34333433
"source": [
34343434
"- - -\n",
34353435
"\n",
3436-
"## 알라딘 순회 크롤링 > 2중 for loop"
3436+
"## 알라딘 순회 크롤링 > 2중 for loop\n",
3437+
"## crawler with traversal in Nested loop"
34373438
]
34383439
},
34393440
{

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /