1) ๊ธฐ์กด for๋ฌธ # First Case L = [] for i in range(10): L.append(i) print(L) # Second Case students = ["Mark", "Joe", "Jay"] for s in range(len(students): students[i] = len(students[i]) # Third Case L = [] for i in range(5): for j in range(5): L.append(i * j) print(L) 2) ํ ์ค for๋ฌธ ๋ฆฌ์คํธ๋ฅผ ๋ง๋๋ ๊ฐ๋ ฅํ๊ณ ๊ฐ๊ฒฐํ ๋ฐฉ๋ฒ์ผ๋ก ์์ฃผ ์ฐ์ด๋ ๋ฌธ๋ฒ์ด๋ฏ๋ก ๊ผญ ์์๋๋๋ก ํ์! # First Case L = [ i for i in range(10) ] print(*L) or [ print(i, end=" ")..
๐ง Programming
1) ๊ธฐ์กด if๋ฌธ int a = 3 if a == 3: print("a๋ 3 ์
๋๋ค.") else: print("a๋ 3์ด ์๋๋๋ค.") 2) ํ ์ค if๋ฌธ print( "a๋ 3์
๋๋ค." if a == 3 else "a๋ 3์ด ์๋๋๋ค." ) ๋ฌธ๋ฒ : (True์ผ ์, ์ฒ๋ฆฌํ ๋ช
๋ น) if [์กฐ๊ฑด์] else [False์ผ ์, ์ฒ๋ฆฌํ ๋ช
๋ น] ๋ง์ฝ์, elif๋ฌธ์ด ํฌํจ๋์ด ์๋ค๋ฉด ์์ ์ฝ๋์ฒ๋ผ if๋ฅผ elif๋ฌธ ๊ฐฏ์๋งํผ ์ถ๊ฐ๋ก ๋ ์ฌ์ฉํ์ฌ ํ ์ค๋ก ์ฒ๋ฆฌํ ์ ์๋ค. [๊ธฐ์กด] int a = 3 if a > 3: print("a>3") elif a == 3: print("a==3") else: print("a3" if a > 3 else print("a==3") if a == 3 else print("a
1) List ์ฌ๋ฌ ํ์
์ ๊ฐ์ ํจ๊ป ๋ชจ์์ ์ ์ฅํ๊ณ (์ค๋ณต ํ์ฉ) ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ ์์๊ฐ ์กด์ฌํ๋ค. (Java์ ArrayList์ ์ ์ฌ) [์์ฑ] - Create numList = [] // ๋น ๋ฆฌ์คํธ ์ ์ธ numList = list() // ๋น ๋ฆฌ์คํธ ์ ์ธ numList = [1,2,3,4] [์ ๊ทผ] - Read print(numList[0]) → list์ 0๋ฒ์งธ ์์์ ๊ฐ์ ๊ฐ์ ธ์ด list[0:2] → list์ 0, 1๋ฒ์งธ ์์๋ฅผ ๋ฆฌ์คํธ ํํ๋ก ๋ฆฌํด list[:7] → list์ 0 ~ 6๋ฒ์งธ ์์๋ฅผ ๋ฆฌ์คํธ ํํ๋ก ๋ฆฌํด list[::-1] → list์ ๋ง์ง๋ง ~ 0๋ฒ์งธ ์์๋ฅผ ๋ฆฌ์คํธ ํํ๋ก ๋ฆฌํด (reverse) list.index(data) → ํด๋น ๋ฐ์ดํฐ๊ฐ list ๋ด์ ๋ช ๋ฒ์งธ ..
1) Python org ์ ์ https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 2) ์ค์นํ ๋ฒ์ ์ ํ ๊ฐ์ธ์ ์ผ๋ก Python2, Python3 ๋ฒ์ ์ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ๋ฒ์ ๋ณํ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์์ฃผ ์ฌ์ฉํ๋ Python 3.x ๋ฒ์ ์ ์ค์นํ๋๋ก ํ์! 3) ์ค์น ํ์ผ ์คํ "Add Python.exe to PATH" ์ต์
์ ์ฒดํฌํ๋ค. ์์คํ
ํ๊ฒฝ๋ณ์๋ฅผ ์๋์ผ๋ก ์ค์ ํด์ฃผ๋ ์ต์
์ผ๋ก ์ฒดํฌํ์ง ์์ผ๋ฉด ๋ณ๋๋ก ์์คํ
ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค. 4) ์คํ
1) ๋ณ์ฑ (Variance) - ๊ณต๋ณ์ฑ (Covariance), ๋ฐ๊ณต๋ณ์ฑ (Contravariance), ๋ฌด๊ณต๋ณ์ฑ (InVariance) ์ ๋ค๋ฆญ์ ์์ผ๋์นด๋๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์ ์, ์์์ผ ํ ๊ฐ๋
์ด ์๋๋ฐ ๊ทธ๊ฒ์ ๋ฐ๋ก ๊ณต๋ณ์ฑ, ๋ฐ๊ณต๋ณ์ฑ, ๋ฌด๊ณต๋ณ์ฑ ํฉ์ณ์ ๋ณ์ฑ์ด๋ผ๋ ๊ฐ๋
์ด๋ค. ๋ณ์ฑ์ ํ์
์ ์์ ๊ณ์ธต ๊ด๊ณ์์ ์๋ก ๋ค๋ฅธ ํ์
๊ฐ์ ์ด๋ค ๊ด๊ณ๊ฐ ์๋์ง๋ฅผ ๋ํ๋ด๋ ์งํ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณต๋ณ์ฑ์ ํ์
์ ์์ ๊ณ์ธต ๊ด๊ณ์์ ์๋ก ๋ค๋ฅธ ํ์
๊ฐ์ ํจ๊ป ๋ณํ ์ ์๋ค๋ ํน์ง์ ๋งํ๋ฉฐ, ์ด๋ฅผ ๊ฐ์ฒด ์งํฅ ๊ฐ๋
์ผ๋ก ํํํ๋ฉด SOLID ์์น ์ค Liskov ์นํ ์์น์ ํด๋นํ๋ค. ์๋ฅผ ๋ค์ด, ๋ฐฐ์ด (Array)๊ณผ ๋ฆฌ์คํธ (List)๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ฉด, Java์์์ ๊ฐ ๋ณ์ฑ์ ํน์ง์ ์๋์ ๊ฐ๋ค. (1) ๊ณต๋ณ์ฑ S๊ฐ T์ ํ์ ํ์
..
1) ์ ํ๋ ํ์
ํ๋ผ๋ฏธํฐ (Bounded Type Parameter) ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ ํ์
ํ๋ผ๋ฏธํฐ๋ฅผ ๋์ฒดํ๋ ๊ตฌ์ฒด์ ์ธ ํ์
์ ์ ํํ ํ์๊ฐ ์๋ค. ์๋ฅผ ๋ค์ด, ์ซ์๋ฅผ ์ฐ์ฐํ๋ ์ ๋ค๋ฆญ ๋ฉ์๋๋ ๋์ฒด ํ์
์ผ๋ก Number ๋๋ ์์ ํด๋์ค (Byte, Short, Integer, Long, Double)๋ก ์ ํํ ํ์๊ฐ ์๋ค. ์ด์ฒ๋ผ ๋ชจ๋ ํ์
์ผ๋ก ๋์ฒดํ ์ ์๊ณ , ํน์ ํ์
๊ณผ ์์ ๋๋ ๊ตฌํ ๊ด๊ณ์ ์๋ ํ์
๋ง ๋์ฒดํ ์ ์๋ ํ์
ํ๋ผ๋ฏธํฐ๋ฅผ ์ ํ๋ ํ์
ํ๋ผ๋ฏธํฐ (Bounded Type Parameter) ๋ผ๊ณ ํ๋ค. public ๋ฆฌํดํ์
๋ฉ์๋ (๋งค๊ฐ๋ณ์, ...) { } ์ ํ๋ ํ์
ํ๋ผ๋ฏธํฐ์ ์ ์๋ ์์ ๊ฐ์ด extends ํค์๋๋ฅผ ์ฌ์ฉํด์ ํ ์ ์์ผ๋ฉฐ, ์์ ํ์
์ ํด๋์ค ๋ฟ๋ง ์๋๋ผ ์ธํฐํ..
1) ์ ๋ค๋ฆญ ํด๋์ค์ ์ ๋ค๋ฆญ ๋ฉ์๋ ์ด๋ฒ์๋ ์ ๋ค๋ฆญ ํด๋์ค์ ์ ๋ค๋ฆญ ๋ฉ์๋์ ๋ํด ์์๋ณด์! (1) ์ ๋ค๋ฆญ ํด๋์ค public class ํด๋์ค๋ช
{ } public interface ์ธํฐํ์ด์ค๋ช
{ } ์ ๋ค๋ฆญ ํด๋์ค๋ ํ์
ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง๋ ํด๋์ค์ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค. ์ ๋ค๋ฆญ ํด๋์ค๋ ์ ์ธ๋ถ์ “” ๊บฝ์ ๊ธฐํธ๊ฐ ๋ถ๊ณ ๊ทธ ์ฌ์ด์ ํ์
ํ๋ผ๋ฏธํฐ๋ค์ด ์์นํ๋ค! ํ์
ํ๋ผ๋ฏธํฐ๋ ๋ณ์๋ช
๊ณผ ๋์ผํ ๊ท์น์ ๋ฐ๋ผ ์์ฑํ ์ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๋๋ฌธ์ ์ํ๋ฒณ ํ๊ธ์๋ก ํํํ๋ค! ๋ํ, ์ธ๋ถ์์ ์ ๋ค๋ฆญ ํด๋์ค๋ฅผ ์ฌ์ฉํ ๋์ ํ์
ํ๋ผ๋ฏธํฐ์ ๊ตฌ์ฒด์ ์ธ ํ์
์ ์ง์ ํด์ผ ํ๋๋ฐ ๋ง์ฝ ์ง์ ํ์ง ์์ผ๋ฉด ์๋ฌต์ ์ผ๋ก Object ํ์
์ด ์ฌ์ฉ๋๋ค. ์ ๋ค๋ฆญ ํด๋์ค๋ ์ด์ ์ ๋ง์ด ๋ค๋ค๊ธฐ์ ์์ธํ ์ฝ๋๋ ์๋ตํ๋ค! (2) ์ ๋ค๋ฆญ ๋ฉ์๋ p..
1) ์ ๋ค๋ฆญ & ํ์
ํ๋ผ๋ฏธํฐ ์ด๋ฒ์๋ ์ ๋ค๋ฆญ์ ๋ํ ๋ช
ํํ ์ ์์ ํ์
ํ๋ผ๋ฏธํฐ์ ๋ํด ์์๋ณด๋๋ก ํ์! (1) ์ ๋ค๋ฆญ (Generics) class Box { public T content; ... public static void main(String[] args) { Box strBox = new Box(); Box intBox = new Box(); } } ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด Box ํด๋์ค๊ฐ ์๊ณ ๋ค์ํ ํ์
์ ๊ฐ์ฒด๋ฅผ ์ง์ํ๊ธฐ ์ํด Box ํด๋์ค ๋ฉค๋ฒ ๋ณ์์ธ content์ ํ์
์ ํน์ ํ์
์ผ๋ก ์ง์ ํ์ง ์๊ณ ํ์
ํ๋ผ๋ฏธํฐ์ธ T๋ก ์ค์ ํ์๋ค. ๊ทธ๋ฆฌ๊ณ main() ๋ฉ์๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด String ๊ฐ์ฒด์ Intenger ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ฐ๊ฐ์ Box ๊ฐ์ฒด๋ฅผ “ํ์
”์ ์ง์ ํ์ฌ ์์ฑํ์๋ค. ๋ฐ๋ผ์..