1) ์ต์
๋ (Optional) (1) ๊ฐ์ Optional is primarily intended for use as a method return type where there is a clear need to represent "no result" and where using null is likely to cause errors. A variable whose type is Optional should never itself be null. it should always point to an Optional instance. ์์ ๋ด์ฉ์ JDK 8 API Document์ ์ฃผ์์ผ๋ก ์ ํ์๋ ๋ถ๋ถ ์ค ์ผ๋ถ๋ฅผ ๋ฐ์ทํ ๊ฒ์ผ๋ก, ์์ญํ์๋ฉด Java Optional ํด๋์ค๋ Java 8์์ ์ถ๊ฐ๋ ํด๋์ค๋ก ..
๐ง Programming
1) IntelliJ ์ธ์ฝ๋ฉ ์ค์ IntelliJ๋ก ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ๊ฐ๋ ๊ฐ๋ค ํ๊ธ์ด ๊นจ์ง๋ ๊ฒฝ์ฐ๋ฅผ ์ข
์ข
๋ณผ ์ ์๋๋ฐ, ์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ด๊ธฐ์ ์ธ์ฝ๋ฉ ์ค์ ์ ๋จผ์ ์ ์ฉํ๊ณ ๊ฐ๋ฐํ๋๋ก ํ์! ๊ทธ๋ฐ๋ฐ, ๋๋ถ๋ถ UTF-8 ์ธ์ฝ๋ฉ์ ์ธํ
๋ฐ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ชจ๋ UTF-8๋ก ์ค์ ํด์ ๋ฐฐํฌํ์ผ๋ฉด ์ข์์ํ
๋ฐ ๋ผ๋ ์๊ฐ์ด ๋ ๋ค. (1) IntelliJ VM Option ์ค์ IntelliJ๊ฐ ์ค์น๋ ๊ฒฝ๋ก๋ก ์ด๋ํ ๋ค์, bin ๋๋ ํ ๋ฆฌ ๋ด์ "idea64.exe.vmoptions" ํ์ผ์ ๋ฉ๋ชจ์ฅ์ผ๋ก ์คํํ๋ค. ์ฐธ๊ณ ๋ก .vmoptions ํ์ผ์ ๋ ๊ฐ๊ฐ ์กด์ฌํ ์๋ ์๋๋ฐ ๋ณธ์ธ์ด ์ฌ์ฉ์ค์ธ OS์ bit์ ๋ง๋ ํ์ผ์ ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด์! ๊ทธ ๋ค์, ๋ฉ๋ชจ์ฅ ๋งจ ์๋์ "-Dfile.encoding=UTF-8" ๋ด์ฉ์ ์ถ..
1) Python - Return๋ฌธ (1) and/or ์ฐ์ฐ์ ํ์ฉ in Return Python์์๋ ์กฐ๊ฑด๋ฌธ์ ๋น๊ต ์ฐ์ฐ์ ๋์ ์ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋
ํนํ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋๋ฐ (์ด ๊ฒฝ์ฐ์๋ ๋ณ์ ์์ฒด๊ฐ ๋
ผ๋ฆฌ์์ด ๋๋ค) ๋ง์ฝ ํจ์์ Return๋ฌธ์์ ๋น๊ต ์ฐ์ฐ์ (and, or)๋ฅผ ์ฌ์ฉํ ๋, ๋ณ์ ์์ฒด๋ฅผ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ฉด ํท๊ฐ๋ฆฌ๊ฒ ๋ ์ฌ์ง๊ฐ ๋ง๋ค. ์ซ์๋ 0์ด ์๋๋ฉด True, 0์ด๋ฉด False, ๋ฌธ์์ด์ ๋น์ด์์ง ์์ผ๋ฉด True, ๋น์ด์์ผ๋ฉด False, ๊ทธ ์ด์ธ์๋ ์์ฃผ ์ฌ์ฉํ๋ ๋ฆฌ์คํธ, ํํ, ์
, ๋์
๋๋ฆฌ ๋ฑ์ ๊ฐ์ฒด ๋ํ ๋ฌธ์์ด๊ณผ ๋น์ทํ ๋งฅ๋ฝ์ผ๋ก ๊ฐ์ฒด์ ๊ฐ์ด ๋น์ด์์ง ์์ผ๋ฉด True, ๋น์ด์์ผ๋ฉด False๋ฅผ ๋ฆฌํดํ๋ค. ๋ค๋ง, ์กฐ๊ฑด๋ฌธ์ด ์๋ Return๋ฌธ์์ ์ฌ์ฉํ๊ฒ ๋๋ฉด True๋ Fal..
1) ๋ด์ฅ ํจ์ (1) any(iterable) any() ํจ์๋ ์ํ ๊ฐ๋ฅํ iterable ๊ฐ์ฒด๋ฅผ ์ธ์๋ก ๋ฐ์ผ๋ฉฐ, ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ ์ค ์ด๋ ํ๋๊ฐ True ๋ผ๋ฉด ํญ์ True๋ก ์ถ๋ ฅํ๋ค. → ๋
ผ๋ฆฌ ์ฐ์ฐ์ OR ์ฐ์ฐ์! (2) all(iterable) all() ํจ์๋ ์ํ ๊ฐ๋ฅํ iterable ๊ฐ์ฒด๋ฅผ ์ธ์๋ก ๋ฐ์ผ๋ฉฐ, all() ํจ์๋ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ True ์ธ ๊ฒฝ์ฐ, True๋ก ์ถ๋ ฅํ๋ค. → ๋
ผ๋ฆฌ ์ฐ์ฐ์ AND ์ฐ์ฐ์! (3) ์์ >>> any( [True, True, False, False, True] ) True >>> all( [True, True, False, False, True] ) False >>> any( [ [1,2], [], [3,1] ] ) True >>> all( [ ..
1) ๋ด์ฅ ํจ์ (1) zip (iterable, iterable, ...) zip() ํจ์๋ ์ฌ๋ฌ ๊ฐ์ ์ํ ๊ฐ๋ฅํ iterable ๊ฐ์ฒด๋ฅผ ์ธ์๋ก ๋ฐ๊ณ , ๊ฐ ๊ฐ์ฒด๊ฐ ๋ด๊ณ ์๋ ์์๋ฅผ ํํ์ ํํ๋ก ์ฐจ๋ก๋ก ์ ๊ทผํ ์ ์๋ ๋ฐ๋ณต์ (iterator)๋ฅผ ๋ฐํํ๋ค. [์์] numbers = [1, 2, 3] letters = [“A”, “B”, “C”] for pair in zip(numbers, letters): print(pair) [๊ฒฐ๊ณผ] >>> (1, 'A') >>> (2, 'B') >>> (3, 'C') → numbers, letters ๋ฆฌ์คํธ์ ๊ฐ ์์๋ฅผ ๊บผ๋ด์ด ํํ์ ํํ๋ก ๋ฐํ [๋ณ๋ ฌ ์ฒ๋ฆฌ] for number, upper, lower in zip("12345", "ABCDE", "abcde"..
1) ๋ด์ฅ ํจ์ (1) map(func, iterable) iterable ์์๋ค์ ํด๋น ํจ์์ ์ ์ฉ์์ผ Map ํํ๋ก Return ํ๊ธฐ ๋๋ฌธ์ list ํน์ tuple ์๋ฃํ์ผ๋ก ๋ณํ์์ผ ์ฃผ์ด์ผ ํ๋ค. ๋ํ์ ์ผ๋ก iterable์๋ ๋ฆฌ์คํธ, ํํ, ๋ฌธ์์ด ๋ฑ์ด ์ฌ์ฉ๋์ด์ง๋ค. ์ฆ, map() ํจ์๋ function์ iterable์ ๋ชจ๋ ์์์ ๋ํด ์ ์ฉํ๊ณ function์ ์ํด ๋ณ๊ฒฝ๋ iterator๋ฅผ ๋ฐํํ๋ค [์์] L = [1,2] x, y = map(str, L) (2) filter(func, iterable) iterable ์์๋ค์ ํด๋น ํจ์์ ์ ์ฉ์์ผ filter ํํ๋ก Return ํ๊ธฐ ๋๋ฌธ์ list ํน์ tuple ์๋ฃํ์ผ๋ก ๋ณํ์์ผ ์ฃผ์ด์ผ ํ๋ค. ๋ํ์ ์ผ๋ก iterable์๋ ๋ฆฌ..
1) ํจ์ (Function) (1) ํจ์ ์ ์ธ def ํจ์๋ช
(์ธ์): ์ฒ๋ฆฌํ ๋ช
๋ น ์ฒ๋ฆฌํ ๋ช
๋ น ... return ... ํจ์ ์์ ํ๋ผ๋ฏธํฐ(์ธ์)๋ ์์ ์๋ ์๊ณ ์์ ์๋ ์๋ค. [์ ๋ฌ๊ฐ ์ ๋ฌด] return๋ฌธ์ ํด๋น ํจ์์์ ๋ฆฌํดํ๊ณ ์ ํ๋ ๊ฐ์ด ์๋ค๋ฉด ์ฌ์ฉํ๊ณ ํน๋ณํ return ํ๊ณ ์ ํ๋ ๊ฐ์ด ์๋ค๋ฉด ์ ์ง ์๋๋ค. [๋ฐํ๊ฐ ์ ๋ฌด] (2) ๋งค๊ฐ๋ณ์ ๊ธฐ๋ณธ๊ฐ def testFunc(name, age, lang=“python”): print(name, age, lang) testFunc(“joe”, 18) → ์ด์ฒ๋ผ ํจ์ ํธ์ถ ์, ํด๋น ์ธ์๊ฐ์ ๋ฃ์ด์ฃผ์ง ์์๋ ๊ธฐ๋ณธ๊ฐ์ด ๋ค์ด๊ฐ ์์ด → testFunc() ํจ์๊ฐ ์ ์๋๋จ์ ํ์ธํ ์ ์๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ํจ์ ์ ์ธ ์์ “testFunc(n..
1) ๊ธฐ์กด ๋ณตํฉ๋ฌธ (if, for) # First Case numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd_numbers = [] for i in numbers: if numbers[i] % 2 == 0: odd_numbers.append(i) print(odd_numbers) # Second Case L = [1, 2, 3, 4, 5] for n in L: if n % 2 == 0: print(“odd”) else: print(“even”) 2) ํ ์ค ๋ณตํฉ๋ฌธ (if, for) # First Case L = [] [L.append(i) for i in range(10) if i % 2 == 0] print(L) # Second Case [print(“odd”) i..