Don't wanna be here? Send us removal request.
Text
์์
์กฐ์
์ด๊ณณ์ ์ฐธ์กฐํ๋ค.
ํ์ด์ฌ์์ ๋ค๋ฃจ๋ ์์
(import openpyxl) ์์๋ 3๊ฐ์ง๋ก ๊ตฌ์ฑ๋๋ค.
workbook-์์
ํ์ผ ์ ์ฒด, worksheet- ์ํธ ํ๋, cell-์
ํ๋
import openpyxl
<Workbook ์์ญ>
wb = openpyxl.Workbook() //์์
ํ์ผ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ๋ณ์์ ์ ์ฅ, ์ํธ๋ 1๊ฐ๋ค.
wb2 = openpyxl.load_workbook('test2.xlsx') // ์ด ์์น์ ์กด์ฌํ๋ ์์
ํ์ผ๋ช
์ ์ด์ด ๋ณ์์ ์ ์ฅํ๋ค.
wb.save('test.xlsx') //์์
๊ฐ์ฒด๋ฅผ ํ์ผ๋ก ์ ์ฅ
<Worksheet ์์ญ>
sheet1 = wb.active //ํ์ฑํ๋ ์ํธ๊ฐ์ฒด๋ฅผ ์ ํํด ๋ณ์์ ํ ๋นํ๋ค. workbook์ ์์ฑํ๋ค๋ฉด ์ฒซ๋ฒ์งธ ์ํธ๊ฐ ์ ํ๋๋ค.
sheet2 = wb.create_sheet('๋๋ฒ์งธ') //์๋ก์ด ์ํธ๋ฅผ ๋ง๋ ๋ค.
sheet2_clone = wb['๋๋ฒ์งธ'] //์ด๋ฏธ ์กด์ฌํ๋ ์ํธ๋ ๋์
๋๋ฆฌ ํํ๋ก ๋ถ๋ฌ์ ๋ณ์์ ์ ์ฅํ ์ ์๋ค.
sheet2.title = '์๋ก์ด ์ํธ๋ช
' //์ํฌ์ํธ.title ์์ฑ์ผ๋ก ์ํธ๋ช
์ ๋ฐ๊ฟ ์ ์๋ค.
<cell ์์ญ>
sheet1['A3'] = 5 //์
๊ฐ์ ๋ณ๊ฒฝํ๋ค.
sheet1.cell(row=3, column=2).value = 3 //์์ฑ์ผ๋ก ์
๊ฐ์ ๋ณ๊ฒฝํ๋ค. ์ด๊ฒฝ์ฐ B3
sheet1.append([1, 2, 3, 4, 5]) //์ํฌ์ํธ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๏ฟฝ๏ฟฝ๋ ๊ฐ์ฅ ๋ง์ง๋ง ํ ๋ค์ ์ค์ ์ด ๋ฆฌ์คํธ ๊ฐ๋ค์ ๊ฐ ์ด์ ์ฒซ์ด๋ถํฐ ์ถ๊ฐํ๋ค.
0 notes
Text
์ ๊ทํํ์
์ ๊ทํํ์์ ํน์ ํ ๊ท์น์ผ๋ก ๋ ๋ค์์ ํ
์คํธ์ ์ผ๊ด์ ์ผ๋ก ์์
ํ๊ธฐ ์ํด ์ด๋ค.
์๋ฅผ ๋ค์ด ํฐ ๋ฒํธ๊ฐ 100๊ฐ ์๋๋ฐ ๋ง์ง๋ง 4์๋ฆฌ๋ฅผ ๋ค *์ฒ๋ฆฌํด์ 010-9484-**** ์ด๋ฐ์์ผ๋ก ๋ฐ๊พธ๊ณ ์ถ์ ๋ ์ด๋ค.
โ ๊ท์น ์ ์ํ๋๋ฒ
[๋ฌธ์]๋ ์ด ์์ ๋ฌธ์๋ฅผ ํฌํจํ๋ค๋ฉด ๊ทธ๊ฒ์ ์ ํํ๋ค. ์๋ฅผ ๋ค์ด [abc]๋ a๋ b๋ c์ค ํ๋๋ผ๋ ํฌํจํ๋ฉด ์ ํํ๋ค.
[๋ฌธ์1-๋ฌธ์2]๋ ๋ฌธ์1์ด์ ๋ฌธ์2์ดํ๋ฅผ ํฌํจํ๋๊ฑธ ์ ํํ๋ค. [0-9]๋ ์ซ์์ผ๊ฒฝ์ฐ [a-z]๋ ์๋ฌธ์ ์ํ๋ฒณ์ผ๊ฒฝ์ฐ [a-zA-Z]๋ ์, ๋๋ฌธ์ ์ํ๋ฒณ์ผ ๊ฒฝ์ฐ์ด๋ค. [1-3]์ [123]์ด๋ค.
[^๋ฌธ์]๋ ๊ทธ ๋ฌธ์๊ฐ ์๋ ๊ฒ์ ์ ๋ถ ์ ํํ๋ค. [^0-9]๋ ์ซ์๊ฐ ์๋ ๊ฒ. [^a-z]๋ ์๋ฌธ์ ์ํ๋ฒณ์ด ์๋ ๊ฒ. [^a-zA-Z]๋ ์ํ๋ฒณ์ด ์๋๊ฒ์ด๋ค.
์ ๊ทํํ์ ๋จ์ถ ํ๊ธฐ๋ฒ์ ์ธ์๋๋ฉด ํธ๋ฆฌํ๋ค. ๋๋ฌธ์๋ก ์ฐ๋ฉด not(๋ฐ๋)์ ์๋ฏธํ๋ค.
\d ์ซ์(dight) [0-9] \D๋ ์ซ์๊ฐ ์๋๊ฒ.
\w ๋ฌธ์+์ซ์(word) [a-zA-Z0-9_]์ด๋ค. \W๋ ๋ฌธ์+์ซ์๊ฐ ์๋๊ฒ
โก\s
.๋ ์ค๋ฐ๊ฟ(\n)์ ์ ์ธํ ์ด๋ค ๋ฌธ์๋ ํ๋๊ฐ ์์ด์ผ ํ๋ค๋ ๋ป์ด๋ค. a.b๋ "a์ด๋ค๋ฌธ์b"๋ฅผ ์ ํํ๋ค. ์๋ฅผ๋ค์ด a3b
a[.]b๋ ์๋ ๋ฌ๋ฆฌ "a.b" ๋ง ์ ํํ๋ค. a3b๋ ์๋๋ค. []์์ ๋ค์ด๊ฐ๋ฉด ๊ทธ ๋ฌธ์ ์์ฒด๋ง์ ์๋ฏธ.
โ ๋ฐ๋ณต
*๋ ์์ ๋ฌธ์๊ฐ 0๊ฐ ์ด์์ด๋ผ๋ ๋ป์ด๋ค. ์์ด๋ ๋๊ณ 100๊ฐ๊ฐ ์์ด๋ ๋๋ค. so*๋ s๋ sooo๋ ์ ํํ๋ค.
+๋ ์์ ๋ฌธ์๊ฐ 1๊ฐ ์ด์์ด๋ผ๋ ๋ป์ด๋ค. so+๋ so, soooo๋ฅผ ์ ํํ๋ค.
?๋ ์์ ๋ฌธ์๊ฐ 0๊ฐ๋๋ 1๊ฐ๋ผ๋ ๋ป์ด๋ค. so?๋ s, so๋ฅผ ์ ํํ๋ค.
{์ซ์}๋ ์์ ๋ฌธ์๊ฐ ๊ทธ ์ซ์๋งํผ ์๋ค๋ ๋ป์ด๋ค. so{3}๋ sooo๋ง์ ์ ํํ๋ค.
{์ซ์1, ์ซ์2}๋ ์์ ๋ฌธ์๊ฐ ์ซ์1๊ฐ ์ด์ ์ซ์2๊ฐ ์ดํ๋งํผ ์๋ค๋ ๋ป์ด๋ค. so{2,4}๋ soo, sooo, soooo๋ฅผ ์ ํํ๋ค. ์ฐธ๊ณ ๋ก ์ซ์1๊ณผ ์ซ์2์ค์ ํ๋๋ ์๏ฟฝ๏ฟฝ๏ฟฝํ ์ ์๋ค. {4,}์ 4๊ฐ ์ด์์ธ ๋ชจ๋ ๊ฒ์ {,3}์ 3๊ฐ ์ดํ์ธ ๋ชจ๋ ๊ฒ์ ์ ํํ๋ค. {1,}์ +์ ๊ฐ๊ณ {0,}์ *์ ๊ฐ์ผ๋ฉฐ {0, 1}์ ?๊ณผ ๊ฐ๋ค.
0 notes
Text
์ฐ๋๋ฉ
โ import threading์ ๋์์ ์ฌ๋ฌ ๊ฐ์ ํจ์๋ฅผ ์คํํ ๋ ์ด๋ค. ๊ฐ๋ น ๋ฉ์์ง ์์ ์ค์ ์ก์ ์ ํ ์ ์๋ค.
<์ฌ์ฉ๋ฒ>
todo = threading.Thread(target=ํจ์๋ช
)
todo.start() //์ฐ๋๋ ์คํ
์ฌ๋ฌ ๊ฐ์ ์ฐ๋๋๋ฅผ ๋์์ ์คํ์ํค๋ ค๋ฉด
task = []
for i in range(5):
todo= threading.Thread(target=ํจ์๋ช
)
task.append(todo)
for t in task:
t.start()
<์ฐ๋๋๋ก ์คํ์ํค๋ ํจ์์ ์ธ์๊ฐ ์ ๋ฌ>
์ธ์๋ threading.Thread(target=ํจ์๋ช
, args=(์ธ์1, ...)) ํํ ํํ๋ก ์จ์ผํ๋ค.
๋์
๋๋ฆฌ๋ kwargs={} ๋ ์ฐ์ด๋๋ฐ ๊ณต๋ถ ๋ฐ๋.
< ์ฐ๋๋์ ๋ฉ์ธ ์ฝ๋์ ๋ถ๋ฆฌ >
์ด๋ ๊ฒ ์ฐ๋๋๋ฅผ ์คํํ๋ฉด ์ฐ๋๋ ๋ผ๋ฆฌ ๋ฟ ์๋๋ผ Main ์คํฌ๋ฆฝํธ๋๋ ์ ๋ถ ๋ณ๋ ฌ๋ก ์ํํ๋ค. ์ด๋ค ์ฐ๋๋๊ฐ ๋๋ ํ์ ๋ฉ์ธ ์คํฌ๋ฆฝํธ ์์
์ ์ํํ๋ ค๋ฉด ๋ชจ๋ ์ฐ๋๋๋ฅผ ์ฐ๋๋๋ช
.join() ํด์ฃผ๋ฉด๋๋ค. ์ ์ฝ๋์ ๋ง์ง๋ง ์ค์ ์ด๊ฑธ ๋ฃ์ผ๋ฉด ๋๋ค.
for t in task:
t.join() // ๋ชจ๋ ์ฐ๋๋๋ฅผ ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ฒ ํ๋ค.
print("End")
โ import time์ thread๋ ์์ฃผ ์ฐ์ด๋ ๋ชจ๋์ด๋ค.
๊ฐ๋จํ๊ฒ time.sleep(1)์ 1์ด๋์ ํจ์๋ฅผ ์ผ์์ค์งํ๋ค.
def ํจ์๋ช
์์ค์ฝ๋1
time.sleep(1) //์คํฌ๋ฆฝํฌ๋ฅผ 1์ด๋ฅผ ์ผ์์ค์ง
0 notes
Text
ํ์ด์ฌ ์๊ฐ, ๋ ์ง
time
calendar
โ import datetime์ ํ์ฌ ์๊ฐ์ ์ํ๋ ํน์ ํํ๋ก ํฌ๋งทํ ์ ์๋ค.
๋ณ์ n์ โก ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ค.
n = datetime.datetime.now()
---> "2019-08-04 14:29:44.103824"
๊ทธ๋ผ ์ ์ด๋ป๊ฒ ํฌ๋งทํ๋? string formatted time ๋ป์ strftime() ๋งค์๋๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค. strftime ๋งค์๋๋ ๋ค์ ๊ธฐํธ๋ค์ ์ฌ์ฉํด์ ์๊ฐ์ ํฌ๋งคํ
ํ๋ค.
%Y 4์๋ฆฌ ์ฐ๋ %m 2์๋ฆฌ ๋ฌ %d 2์๋ฆฌ ์ผ
%H 2์๋ฆฌ ์ %M 2์๋ฆฌ ๋ถ %S 2์๋ฆฌ ์ด
%A ์์ด ์์ผ %B ์์ด ๋ฌ
formatted = n.strftime("%Y--%m--%d")
---> "2019--08--04"
0 notes
Text
Day 2 ํ์ด์ฌ ๊ธฐ๋ณธ๊ธฐ
โ open(ํ์ผ๋ช
, ๋ชจ๋) // ํ์ผ
ํ์ด์ฌ์์ ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ๋ ์์ฃผ ์ฌ์ฉ๋์ด ์ ์์๋ฌ์ผ ํ๋ค.
txt ์ฝ๊ณ ์ฐ๋ ๋ฒ ์ฐธ์กฐ:ย https://wikidocs.net/26
ํ์ผ ์ฐ๋ ๊ฒฝ๋ก๋ฅผ ์ค์ ๊ฐ๋ฅํ๋ค. f = open(โC:\project\memo.txtโ,ย โwโ)
<์ฐ๊ธฐ>
f.write(โsomethingโ) ์ ํ์ผ์ ํ ์ค์ฉ ์ด๋ค. f.write(โ1โณ)๋ฅผ 3๋ฒ ์คํํ๋ฉด ํ์ผ์
1; 1; 1์ด ๋๋ค. (;๋ ์ํฐ๋ฅผ ํธ์์ ํ๊ธฐํ ๊ฒ)
<์ฝ๊ธฐ>
f.read()๋ ํ์ผ์ ๋ชจ๋ ๋ฌธ์์ด์ ์ฝ์ด f์ ์ ์ฅํ๋ค.
f.readline()์ ํ์ผ์ ์์์๋ถํฐ ํ ์ค์ฉ ์ฝ๋๋ค. f.readline()์ ๋๋ฒ ํ๋ฉด ๋๋ฒ์งธ์ค์ String ํํ๋ก ๋ฐํํ๋ค. ๋ง์ง๋ง ์ค์ ์ฝ๊ณ ํ๋ฒ ๋ ์คํํด ๋์ด์ ๋ด์ฉ์ด ์์ผ๋ฉด None์ ๋ฐํํ๋ค. if not f.readline() : break ์ผ๋ก ๋ง์ง๋ง ์ค์ผ ๊ฒฝ์ฐ ๋๋ผ ์ ์๋ค.
f.readlines()๋ ํ์ผ์ ๋ชจ๋ ์ค์ List ํํ์์ ํ ์ค๋น ํ index๋ก ๋ฃ์ด ๋ฐํํ๋ค
โ ํจ์์์ return์ด ์๋ ํจ์๋ฅผ ๋ณ์์ ์ ์ฅํ๋ฉด None ์ด๋ค.
def fun(): print(1)
a= fun() ; type(a) == None
โ ํจ์๋ฅผ ํธ์ถํ ๋ ๋งค๊ฐ๋ณ์๋ณ ์ธ์ ๊ฐ์ ์์์ ์๊ด์์ด ์ง์ ์ค ์ ์๋ค. def fn(a,b):..
fn(b=1, a=2) == fn(a=2, b=1)
โ ํจ์๋ฅผ ์ ์ํ ๋ ๋งค๊ฐ๋ณ์์ ๋ค์ด๊ฐ ๊ธฐ๋ณธ ๊ฐ์ ๋ฏธ๋ฆฌ ์ ํ ์ ์๋ค. def fn(a, b=True):...
์ด๋ฌ๋ฉด fn(2, b=False) ์ฒ๋ผ b๋ฅผ ์ ํด์ฃผ์ง ์๊ณ fn(1)๊ฐ์ด ํธ์ถํ ๊ฒฝ์ฐ b๋ ํญ์ True๊ฐ ๋๋ค.
๋จ, ๊ธฐ๋ณธ๊ฐ์ ๋ฏธ๋ฆฌ ์ ํด์ฃผ๋ ๋งค๊ฐ๋ณ์๋ ํญ์ ๋ฏธ์ ๋งค๊ฐ๋ณ์๋ณด๋ค ๋ค์ ์์ด์ผ ํ๋ค.
โ ์์์ ๊ฐฏ์์ ๋งค๊ฐ ๋ณ์๋ฅผ ๋ฐ๋ ํจ์๋ def fn(*๋งค๊ฐ๋ณ์์ด๋ฆ) ํ๋ฉด๋๋ค. def fn(mode, *args): ์ฒ๋ผ ์์ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ง์ ํ๊ณ ๋ค์์ ๋ฌด์์ ์ธ์๋ฅผ ๋ฐ์ ์ ์๋ค. ์์) fn('add', 1,2,3,4)
โ ์์์ ๊ฐฏ์์ ๋์
๋๋ฆฌ(key: value) ์์ ๋ฐ๋ ํจ์๋ fn(**๋งค๊ฐ๋ณ์์ด๋ฆ) ํ๋ฉด๋๋ค. ํจ์๋ฅผ ํธ์ถํ ๋ ์ ๋ฌ๋ฐ์ ์ธ์(ํค = ๊ฐ) ์์ ๋งค๊ฐ๋ณ์์ด๋ฆ์ ๋ณ์์ ๋์
๋๋ฆฌ({'ํค' : ๊ฐ})๋ก ๋ง๋ค์ด ์ ์ฅํ๋ค.
def fn(**kwargs): print(kwargs)
fn(a=1) ---> { 'a' : 1 } fn(a=1, b='hi') ---> { 'a' : 1, 'b' : 'hi' }
sys๋
โ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ idle์์ ๊ฒฝ๋ก ํ๊ธฐ ์ ํด๋์ /๋๋ โฉโฉ๋ก ์ ์ด์ผ ํ๋ค.
โ sys.argv ๋ ๋ช
๋ น ํ๋กฌํํธ์์ ํ์ด์ฌ ํ์ผ์ ์คํ์ํฌ ๋ ์ธ์๋ฅผ ํจ๊ป ๋ฐ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ค๋ค.
import sys
print(sys.argv) ๋ก ๋ง๋ค์ด ๋์ผ๋ฉด, ๋ช
๋ นํ๋กฌํํธ์์ >>> ํ์ด์ฌํ์ผ๊ฒฝ๋ก.py ์ธ์1 ์ธ์2 ์ฐ๊ณ ์ํฐ ์ sys.argv๋ ['ํ์ด์ฌํ์ผ๊ฒฝ๋ก', '์ธ์1', '์ธ์2']๊ฐ ๋๋ค.
โ sys.path๋ ํ์ด์ฌ ๋ชจ๋์ด ์ ์ฅ๋์ด ์๋ ๊ฒฝ๋ก๋ค์ List๋ก ๊ฐ์ง๋ค.
sys.path.append(๊ฒฝ๋ก)ํ๋ฉด ์ด ๊ฒฝ๋ก์ ํ์ด์ฌ ๋ชจ๋์ ๋ถ๋ฌ์ฌ ์ ์๋ค. ์ถํ ์คํํ์ โก
โ pickle ๋ชจ๋์ ์ด๋ค ์๋ฃํ์ด๋ ์๋ฃ๊ฐ ๋ด๊ฒจ์ง ๋ณ์๋ฅผ ํ์ผ์ ๊ทธ๋๋ก ์ ์ฅํ๊ณ ๋ถ๋ฌ์ค๊ฒ ํ๋ค.
<๋ณ์ ์ ์ฅ>
import pickle
a={'1' : 3, '2' : 2}
f = open('save.txt', 'wb')
pickle.dump(a , f)
f.close()
์ด ๊ฒฐ๊ณผ๋ save.txt์ a ๋์
๋๋ฆฌ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋๋ก ์ ์ฅ๋๋ค.
<๋ถ๋ฌ์ค๊ธฐ>
with open('save.txt', 'rb') as f:
a = pickle.load(f)
a์ ์์ ์ ์ ์ฅํ ๋์
๋๋ฆฌ๊ฐ ๋ถ๋ฌ์์ก๋ค.
โ shutil ๋ชจ๋์ ํ์ผ์ ๋ณต์ฌํด์ค๋ค.
๋์ผํ ํ์ผ๋ช
์ผ ๊ฒฝ์ฐ ๋ณต์ฌํ๋ค.
import shutil
shutil.copy(ํ์ผ๋ช
.ํ์ฅ์, ํ์ผ๋ช
2.ํ์ฅ์) // ํ์ผ๋ช
2๋ก ๋ณต์ฌ
shutil.copy(ํ์ผ๋ช
.ํ์ฅ์, ํด๋๋ช
) // ํด๋๋ก ๋ณต์ฌ
์คํํ์โก
โ glob.glob(๊ฒฝ๋ก) ๋ชจ๋์ ํน์ ํด๋์ ์๋ ๋ชจ๋ ํ์ผ๋ช
์ ๋ฆฌ์คํธ์ ์ ์ฅํ๋ค. * ๊ณผ ? ๋ฅผ ์จ์ ํํฐ๋ฅผ ๋ฃ์ด์ค ์ ์๋ค.
import glob
a = glob.glob("C:โฉโฉdataโฉโฉaa*")
---> ["c:โฉโฉdataโฉโฉaa1.txt", "c:โฉโฉdataโฉโฉaa2.txt"]
โ tempfile ๋ชจ๋์ ์์ ํ์ผ์ ๋ค๋ฃจ๋๋ฐ
<ํ์ผ๋ช
์์ฑ>
a = tempfile.mktemp() ๋์ค๋ณต๋์ง ์๋ ์์ ํ์ผ๋ช
๊ฒฝ๋ก string์ ์์ฑํ๋ค.
<์์ ์ ์ฅ ๊ณต๊ฐ ์์ฑ>
f = tempfile.TemporartFile()
... f.close() //์ข
๋ฃ์ ์ถ๊ฐ๊ณต๋ถํ์โก
import random ๋ชจ๋์ ๋์๋ฅผ ์์ฑํ๋ค.
โ random.random() ์ 0~1.0 ์ฌ์ด์ ๋์๊ฐ์ ๋ฐํํ๋ค.
โ random.randint(์ ์1, ์ ์2)๋ ์ ์ 1, 2 ์ฌ์ด์ ํ ์ ์๋ฅผ ๋ฐํํ๊ฐ. ์ ์1๋ ๋์ค๋์ง ํ์ธํ์โก
โ random.choice(๋ฆฌ์คํธ) ํจ์๋ ๋ฆฌ์คํธ์์ ์๋ฌด ์์๋ ์ ํํด์ ๋ฐํํ๋ค.
โ random.shuffle(๋ฆฌ์คํธ) ํจ์๋ ๋ฆฌ์คํธ์ ์์๋ฅผ ๋ฌด์์๋ก ์์ด ๋ฒ๋ฆฐ๋ค. (๋ฐํ ์ํจ)
import webbrowser ๋ชจ๋์ ๊ธฐ๋ณธ์ผ๋ก ์ง์ ๋ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ๊ณ ์กฐ์ํ๊ฒ ํด์ค๋ค.
โ webbrowser.open(์ฌ์ดํธ ์ฃผ์) ๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ ค ์์ผ๋ฉด ์ด ์ฃผ์๋ก ์ด๋ํ๊ณ , ๊บผ์ ธ ์์ผ๋ฉด ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ ๋ค ์ด ์ฃผ์๋ฅผ ์ฐ๋ค.
โwebbrowser.open_new(์ฌ์ดํธ ์ฃผ์) ๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ ค ์๋๋ผ๋ ์๋ก์ด ์ฐฝ์ผ๋ก ์ด ์ฃผ์๋ฅผ ์ฐ๋ค.
0 notes
Text
Day 1 ํ์ด์ฌ ๊ธฐ๋ณธ๊ธฐ
ํ์ด์ฌ ๋ด์ฅ ํจ์๋ฅผ idle์์ ํ๋ฒ์ฉ ์ฌ์ฉํด๋ณด์๋ค.
(ํ์ด์ฌ ๋ด์ฅ ํจ์ย https://wikidocs.net/32ย ์ฐธ์กฐ)
์ ์ฉํ๊ฒ ์ธ ์ผ์ด ์์ด ์ด๊ฒ๋ค์ ์์๋ฌ์ผํ๋ค.
โ
eval(โํํโ)
๋ฌธ์๋ก ๋ ํจ์๋ฅผ ๋์ ์ผ๋ก ์คํ์์ผ์ฃผ๋ ์ ๊ธฐํ ๊ธฐ๋ฅ.
a =ย โprint(โ
b=ย โ5)โ
eval(a + b)ย ์คํํ๋ฉด print(5) ๊ฐ ์คํ๋๋ค.
๏ฟฝ๏ฟฝ enumerate([๋ฆฌ์คํธ])
๋ฆฌ์คํธ์ ๊ฐ ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ถ์ฌํ ํํ์ด ๋์จ๋ค.
for i in enumerate([โaโ, โbโ, โcโ]): print(i) ์ ๊ฒฐ๊ณผ๋
(0, โaโ); (1, โbโ); (2,ย โcโ) ์ด๋ค.
โ
lambda x: x์
lambda๋ x๋ฅผ ์ธ์๋ก ๋ฐ๋ ์ต๋ช
ํจ์์ด๊ณ , x ์์ ์คํํ๋ค.
x ์์ด boolen์ด๋ฉด true, false๋ฅผ, ์์ด๋ฉด ์์ ์ํํ ๊ฐ์ returnํ๋ค.
ํจ์๋ฅผ ๋ณ์์ ์ ์ฅํ ์ ์๋ค. a = lambda x: x>0;ย a(5) ---> true
์ธ์๋ฅผ ์ฌ๋ฌ๊ฐ ๊ฐ์ง ์ ์๋ค. lambda x,y,z: x+y+z
โ
filter(ํจ์๋ช
, ์ฌ๋ฌ๊ฐ์ ์์ฐจ์ ๋์
๊ฐ๋ฅํ iterable ์๋ฃํ)
x๊ฐ ์ฐธ์ด๋ฉด true๋ฅผ return ํ๋ ํจ์ pos๊ฐ ์๋ค.
def pos(x):ย
ย return x>0
๋ฆฌ์คํธ lst = [1, 3, 5, -5, -20] ์์ pos ํจ์ ๊ฐ์ด ์ฐธ์ธ ๊ฒ๋ง ๋ฝ๊ณ ์ถ๋ค.
์ด ๋ filter ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
filter(pos, lst) ๋ lst ์ค pos์ true ๋ฆฌํด์ธ๊ฒ๋ง ๋ฝ์ filter ๊ฐ์ฒด๋ฅผ ๋ฐํํ์ฌ list๋ก ๋ง๋ค์ด์ค์ผ ํ๋ค.
์ฌ์ฉ :ย list(filter(pos,lst))
ํจ์๋ฅผ lambda๋ก ์ฌ์ฉ:ย filter(lambda x: x>0, [1,4,-4])
โ
ย id(๊ฐ์ฒด)
id๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ณ ์ ์ฃผ์๋ฅผ ๋ฐํํ๋ค.
pointer๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฒ๊น์ง ๋ชจ๋ ๊ฐ์ ์ฃผ์๋ฅผ ๋ฐํํ๋ค.
๊ฐ๋ น, a=5; b=a ์ผ ๊ฒฝ์ฐ id(a) == id(5) == id(b) ๊ฐ ๊ฐ์ ๊ฐ์ผ๋ก ์ฑ๋ฆฝ๋๋ค.
โ
ย int(์ซ์ ๊ฐ(๋ฌธ์ํํฌํจ), [์๋ ์ง์])ย
int์ 2๋ฒ์งธ ์ธ์์ ์ง์๊ฐ์ ์
๋ ฅํ๋ฉด ์ฒซ๋ฒ์งธ ์ธ์๋ฅผ ๊ทธ ์ง์์ธ ์ซ์๋ก ์น๊ณ , 10์ง์๋ก ๋ฐ๊ฟ์ค๋ค. ๋จ, ์ฒซ๋ฒ์งธ ์ธ์๊ฐ ๋ฌธ์ํ์ผ๋ก ์ ํ์ผํ๋ค.
int(โ1011โฒ, 2) ๋ โ1011โฒ์ 2์ง์๋ก ๋ณด๊ณ , 10์ง์๋ก ๋ณํํด 11์ ๋ธ๋ค.
โ
isinstance(something, ํด๋์ค)
isinstance๋ something์ด ํด๋์ค์ ์ธ์คํด์ค๋ฉด True, ์๋๋ฉด False๋ฅผ ๋ฐํํ๋ค.
class big: ......
a= big()
isinstance(a, big)ย ย ---> True
โ
ย listํจ์๋ฅผ ๋ฌธ์์ด์ ์ฌ์ฉํ ์ list(โhelloโ) ---> [โhโ,โeโ,โlโ,โlโ,โoโ]
โ
map(ํจ์, iterable ๋ฐ์ดํฐ)
map ์ iterable ๋ฐ์ดํฐ์ ๊ฐ ์์๋ง๋ค ํจ์๋ฅผ ์ ์ฉํ ๊ฒฐ๊ณผ๊ฐ์ผ๋ก ๋ง๋ค์ด์ค๋ค.
map(lambda x: x*2, [1,2,3,4]) ---> map object --> listํํ๋ฉด [2,4,6,8]
โ
max() ํจ์๋ ๋ฌธ์์ด๋ ๋ฐ์ ์ ์๋ค. a-z์์ผ๋ก z๊ฐ ๊ฐ์ฅ ๋์ ๊ฐ์ผ๋ก ๋ฐํ min์ ๊ทธ ๋ฐ๋๋ค.
โ
ย range(์์์ซ์, ๋์ซ์, ์ซ์๊ฐ ์ฐจ์ด)
range object๋ฅผ ์์ฑํ๋ค. ๋ฆฌ์คํธ๋ก ๋ง๋๋ ค๋ฉด list(range(5))
์์ list๋ฅผ ๋ง๋ค ์ ์๋ค. range(0, -10, -1) ์ซ์๊ฐ ์ฐจ์ด๋ฅผ ์์๊ฐ์ผ๋ก ํ๊ณ , ๋์๋ฅผ ์์๋ก ํ๋ฉด ๋๋ค. ์์๋ ์ญ์ ๋์๋ฅผ ํฌํจ์ํ๊ณ 0๋ถํฐ -9๊น์ง ๋ง๋ค์ด์ง๋ค.ย
โ
sorted([๋ฆฌ์คํธ]) ์ ๋ฆฌ์คํธobj.sort()์ ์ฐจ์ด์ . sorted๋ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌํ์ฌ returnํ๊ณ , sort() ํจ์๋ ์ ๋ ฌ๋ง ํ๊ณ return์ ํ์ง ์๋๋ค.
โ
sorted(๋ฌธ์์ด), list(๋ฌธ์์ด), tuple(๋ฌธ์์ด) ๋ชจ๋ ๊ฐ ๋ฌธ์์ด์ ๋ฆฌ์คํธ๋ก ์ชผ๊ฐ ๋ค.
list(โbinโ) == [โbโ,โiโ,โnโ]
โ
zip(iterable-object1, iterable-object2...)๋ ๊ฐ iterable obj์ ๊ฐ์ ์ธ๋ฑ์ค ์๋ฒ๋ผ๋ฆฌ ํํ๋ก ์ง์ฐ์ด์ค๋ค.
zip([1,2,3],[โaโ,โbโ,โcโ]) ๋ zip obj๋ฅผ ๋ง๋ค๊ณ ์ด๋ฅผ list()ํ ํ๋ฉด [(1,โaโ), (2,โbโ), (3,โcโ)]์ด๋ค.
๋ ๋ฆฌ์คํธ ๊ฐ ์์ ๊ฐฏ์๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ, ์๋ค ์๊ด์์ด ์ ์ ์ธ๋ฑ์ ๊ฐฏ์์ ๋ง์ถ๋ค. ๊ฐ๋ น, [1,2]์ [โaโ,ย โbโ,ย โcโ]๋ฅผ list(zip) ํ๋ฉด [(1,โaโ), (2, โฒbโ)]๊น์ง๋ง ์์ฑํ๋ค.
โ
open(ํ์ผ๋ช
,[๋ชจ๋])๋ ํ์ผ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. ๋ชจ๋๋ r(์ฝ๊ธฐ), w(์ฐ๊ธฐ), a(์ถ๊ฐ), x(์ํ์ผ์ฐ๊ธฐ)๊ฐ ์๊ณ ๋ชจ๋ ์ ๋ฏธ์ฌ๋ก b(๋ฐ์ด๋๋ฆฌ)๊ฐ ์์ผ๋ฉฐ ๋ชจ๋๋ฅผ ์๋ตํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ๊ธฐ ๋ชจ๋๋ฅผ ์ ํํ๋ค.
ํด๋น ํ์ผ์ด ์๋๋ฐ ์ฝ๊ธฐ ๋ชจ๋๋ก ์ด๋ฉด ์ฐพ์ ์ ์๋ค๋ ์๋ฌ๊ฐ ๋๋ค.
์ํ์ผ์ฐ๊ธฐ์ธ๋ฐ ๊ธฐ์กด์ ๊ทธ ํ์ผ๋ช
์ด ์กด์ฌํ๋ฉด ์๋ฌ๊ฐ ๋๋ค.
rb๋ชจ๋๋ ๋ฐ์ดํธ๋ก ์ฝ์ด๋ค์ด๊ณ wb๋ชจ๋๋ raw ๋ฐ์ดํฐ๋ก ์ด๋ค.
0 notes
Text
My Codability Upgrade ๋ธ๋ก๊น
์์(Project-beyond-neo)
์ฝ๋ฉ ์
๊ทธ๋ ์ด๋๋ฅผ ํ ๋ฌ๋์ ์ค์ค๋ก ํ๊ธฐ ์ํด ๋ธ๋ก๊ทธ๋ฅผ ์์ํ๋ค.
ํด๊ฐ ๋นผ๊ณ , ๋งค์ผ ์ด ๋ธ๋ก๊ทธ์ ๊ทธ๋ ๋ฐฐ์ด ๊ฒ์ ์์ฑํ ๊ฒ์ด๋ค.
ํ์ฌ ๋๋...
- ํ์ด์ฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ธ๋ถ API๋ฅผ ํ์ฉํ์ง๋ง, ์๊ธฐํ๊ณ ์์ง ์์ ํ์ํ ๋ ์ฌ์ฉ๋ฒ์ ์ฐธ์กฐํด์ ์ด์ฉํ๋ค.
- ํ์ด์ฌ์ ํ์ฉํ์ฌ ํน์ ํ ๊ฒฐ๊ณผ๋ฌผ(ํํ์ด์ง ๋ฑ)์ ๋ง๋ค์ด๋ด๋ ๋๋ง์ ํ๋ฆฝ๋ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ถํ์ง ์์๋ค.
๋ชฉํ๋ : โํ์ด์ฌ with ์น Front-endโ ์ง์์ ์๋ฌํ์ฌ ์น์๋น์ค๋ฅผ ๋ง๋ค ์ ์๋ค.
<์ธ์ด>
- ํ์ด์ฌ ๊ธฐ๋ณธ ๋ด์ฅ ํจ์ ์๊ธฐ์ฌ์ฉ(math, request, random, file...)
- ํ์ด์ฌ ์ฃผ์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๋ฌ(beautifulsoup4..)
- ํ์ด์ฌ ์ค๊ธ์ด์ ๊ธฐ์ ๋ฅ์(์ ๊ทํํ์..)
- Flask ๊ธฐ๋ณธ ๊ฐ๋
์ดํด ๋ฐ ์ฃผ์๊ธฐ๋ฅํจ์ ์๊ธฐ์ฌ์ฉ
- Jquery ๊ธฐ๋ณธ ์ ํ๋ฒ ๋ฐ ๋ฉ์๋ ๋ฅ์
<์น์๋น์ค>
- Flask๊ธฐ๋ฐ ์น์๋น์ค๋ฅผ ์น์ฌ์ดํธ์ ์
๋ก๋
- ์๋์ผ๋ก ๋์๊ฐ๋ Python script๋ก ์น์๋น์ค ์๋ ์
๋ฐ์ดํธ
- ์น ์๋น์ค์์ ์ ์ ์ input์ ๋ฐ์ output์ ํ์ผ ๋ค์ด๋ก๋๋ก ์ ๊ณต
- Output์ ํ์ด์ค๋ถ ๋ฑ SNS ๊ณต์ ๊ธฐ๋ฅ
- ์ ์ ์ input ์ ๋ณด๋ฅผ databaseํ ํ์ฌ Flask ์๋ฒ์ ์ ์ฅ(๋ฐฉ๋ช
๋ก, ๊ฐ์ธ์ ๋ณด)
<ํ๋ก์ ํธ>
- ์ธ๋ถ์์ ์ ๊ทผ ๊ฐ๋ฅํ Flask ๊ธฐ๋ฐ ์น์๋น์ค ๋ง๋ค์ด ๊ณต๊ฐ
1 note
ยท
View note