๐Ÿ’ฟ Data/์ด๋ชจ์ €๋ชจ

    __init.py__์˜ ํ™œ์šฉ

    A๋ผ๋Š” ํด๋”์— a.py , b.py๊ฐ€ ์žˆ๋‹ค. A๋ผ๋Š” ํด๋”์— __init.py__๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋ฉด A ํด๋” ์ž์ฒด๊ฐ€ ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ฒ˜๋Ÿผ ๋˜๊ณ  b.py ์—์„œ a.py์—์„œ ์ •์˜๋œ ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ, from A.a import function # a.py์—์„œ ์ •์˜ํ•œ ํ•จ์ˆ˜์œ„์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. __init.py__ ๊ฐ€ ์—†์–ด๋„ a์™€ b๊ฐ€ ๊ฐ™์€ ํด๋”์— ์žˆ๋‹ค๋ฉด ๊ทธ๋ƒฅ import ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋‹ค๋ฅธ ์žฅ์†Œ์— ์žˆ๋Š” ํŒŒ์ผ์˜ ํ•จ์ˆ˜๋ฅผ import ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค!

    [Python]Decorator

    ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ(@) ์–ด์ƒ‰ํ•˜๊ณ  ๋ฐ˜๋ณต์ ์ธ ํ•จ์ˆ˜์˜ ํ‘œํ˜„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ œ์•ˆ ํ•จ์ˆ˜ ์™ธ์—๋„ ํด๋ž˜์Šค, ์ œ๋„ˆ๋ ˆ์ดํ„ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ํƒ€์ž…์—์„œ๋„ ์‚ฌ์šฉ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ -> ๋ง ๊ทธ๋Œ€๋กœ ํ•จ์ˆ˜๋ฅผ '๊พธ๋ฉฐ์ฃผ๋Š”' ํ˜น์€ '์žฅ์‹ํ•˜๋Š”', 'ํฌ์žฅํ•˜๋Š”' ๊ธฐ๋Šฅ ์ฐธ๊ณ :pep318 ํ•จ์ˆ˜์˜ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ(@) ์˜ˆ์‹œ๋ถ€ํ„ฐ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. def one(): print("Hello") print("one์ด๋ผ๋Š” ํ•จ์ˆ˜") def two(): print("Hello") print("two๋ผ๋Š” ํ•จ์ˆ˜") def three(): print("Hello") print("three๋ผ๋Š” ํ•จ์ˆ˜") ์œ„์˜ ์˜ˆ์‹œ๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ธฐ์— ๊ฐ์ด ์•ˆ์˜ฌ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ณตํ†ต์ ์œผ๋กœ ๋“ค์–ด๊ฐ„ print("Hello")๋ฅผ ํ•œ๋ฒˆ์— ๋ฌถ์–ด์„œ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. def Hello_de..

    SQL_Tips('ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” SQL_~Chapter3)

    ์ธ๋ฑ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ํ•ด์คŒ ๋ทฐ ๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ”๋กœ ๋ณด์•ˆ์— ๋„์›€์ด ๋˜๊ณ  ๊ธด SQL๋ฌธ์„ ๊ฐ„๋Ÿ‰ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ ์Šคํ† ์–ด๋“œ ํ”„๋กœ์‹œ์ € SQL ๋‚ด์—์„œ๋„ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ฒ˜๋Ÿผ ์ฝ”๋”ฉ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ(ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋กœ์ง์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ) ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ SELECT ๊ตฌ์ถ•์ด ์™„๋ฃŒ๋œ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ธฐ๋Šฅ, ์ฆ‰ ์•„๋ฌด๋ฆฌ ๋งŽ์ด ์‚ฌ์šฉํ•ด๋„ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค์ง€ ์•Š์Œ AUTO_INCREMENT ์ž๋™์œผ๋กœ ์ˆซ์ž๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜๋Š” ๊ธฐ๋Šฅ ๋ณดํ†ต CREATE TABLE ์—์„œ ํŠน์ • ์ปฌ๋Ÿผ(์ฃผ๋กœ primary key)์— ์กฐ๊ฑด์œผ๋กœ ๋„ฃ๋Š”๋‹ค. ์ดํ›„ INSERT INTO ํ•  ๋•Œ, AUTO_INCREMENT๊ฐ€ ๋“ค์–ด๊ฐ„ ์ปฌ๋Ÿผ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์€ NULL์„ ๋„ฃ์œผ๋ฉด ์•Œ์•„์„œ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž๋กœ ๋ฐ˜์˜๋จ ๋˜ํ•œ, ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž(๊ธฐ๋ณธ์ ..

    SQLite_Select_rowid

    Q. ' SELECT * ' ๊ณผ ' SELECT rowid ' ์˜ ์ถœ๋ ฅ๋˜๋Š” ์ˆœ์„œ ์ฐจ์ด 1. SELECT * SELECT * FROM customers AS c 2. SELECT rowid (customerId == rowid) SELECT customerId FROM customers AS c ์ฆ‰, 1๊ณผ 2์—์„œ SELECT์— ๋”ฐ๋ผ ์ถœ๋ ฅ๋˜๋Š” rowid์˜ ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. SELECT FirstName (rowid๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์นผ๋Ÿผ ํ•˜๋‚˜๋งŒ SELECT) SELECT FirstName FROM customers AS c 1๋ฒˆ๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ, rowid ์—†์ด ๋‹จ์ผ ํŠน์„ฑ๋งŒ SELECT ํ•ด๋„ ORDER BY rowid ๊ฐ€ ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 4. SELECT Suppo..

    SQLite_sqlite3, PostgreSQL_psycopg2

    Python์—์„œ sqlite3๋ฅผ ์ด์šฉํ•ด SQLite ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ฐ ํ™œ์šฉ๋ฒ• ์—ฐ๊ฒฐ ๋ฐ ์ปค์„œ, ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ, ๊ฐ’ ๋„ฃ๊ธฐ, ์ปค๋ฐ‹ ๊ณผ์ • import sqlite3 conn = sqlite3.connect('DB์ด๋ฆ„.db') # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์ด ์žˆ์œผ๋ฉด ๊ทธ ํŒŒ์ผ๊ณผ ์—ฐ๊ฒฐํ•˜๊ณ , ์—†์œผ๋ฉด ์œ„์—์„œ ์ •ํ•œ ์ด๋ฆ„์œผ๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. cur = conn.cursor() # connect ๊ฐ์ฒด์— ์žˆ๋Š” cursor ๊ฐ์ฒด๋ฅผ ์ง€์ •ํ•ด์ค๋‹ˆ๋‹ค. cur.execute("""CREATE TABLE test_table ( name VARCHAR(32), age INT); """) # cursor๋ฅผ ํ†ตํ•ด excute(์‹คํ–‰)์œผ๋กœ ์ฟผ๋ฆฌ๋ฌธ์„ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. # ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐฉ๋ฒ•(1) cur.execute("INSERT INTO..