๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐ŸŒฑ CS Study/ํŒŒ์ด์ฌ5

๋‹จ๋ฝ ํ‰๊ฐ€ (short-circuit evaluation) ๋‹จ๋ฝ ํ‰๊ฐ€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ์ค‘ and์™€ or์—๋Š” ๋‹จ๋ฝ ํ‰๊ฐ€๋ผ๋Š” ๊ฒƒ์ด ์ž‘์šฉํ•œ๋‹ค. ์ด ์›๋ฆฌ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์ด ๋ณผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•Œ์•„๋‘๋ฉด ์—๋Ÿฌ ์žก๋Š”๋ฐ ์œ ์šฉํ•˜๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ๋‹จ๋ฝ ํ‰๊ฐ€๋Š” ์ฒซ๋ฒˆ์งธ ๊ฐ’์—์„œ ์ด๋ฏธ ๋ฐ˜ํ™˜ ๊ฐ’์ด ํ™•์‹คํ•ด์กŒ๋‹ค๋ฉด ๋‘๋ฒˆ์งธ ๊ฐ’์€ ํ™•์ธํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค. A Operator A and/or B Output Notes True and True and 'rabbit' rabbit ์ฒซ๋ฒˆ์งธ ๊ฐ’์ด True๋ฉด ๋‘๋ฒˆ์งธ ๊ฐ’์— ๋‹จ๋ฝ ํ‰๊ฐ€๊ฐ€ ์ ์šฉ ๋ผ ๋‘๋ฒˆ์งธ ๊ฐ’์„ ๋ฌด์กฐ๊ฑด ๋ฐ˜ํ™˜ํ•œ๋‹ค. False False and 'rabbit' False and์—์„œ๋Š” ์–‘์ชฝ ๋ชจ๋‘ True๊ฐ€ ๋˜์–ด์•ผ True๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ๋ฒˆ์งธ ๊ฐ’์ด False๊ฐ€ ๋‚˜์˜ค๋ฉด ๋‹จ๋ฝ ํ‰๊ฐ€๊ฐ€ ์ ์šฉ ๋ผ ์ฒซ๋ฒˆ์งธ ๊ฐ’์ธ False๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค. True or Tr.. 2022. 7. 26.
๋น„๊ต ์—ฐ์‚ฐ์ž vs. ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž (Comparison vs. Logical operator) ๋น„๊ต ์—ฐ์‚ฐ์ž ๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” (1) ๊ฐ’์ด๋‚˜ (2) ๋ณ€์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋น„๊ตํ•ด์„œ True/False๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค. 1. ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ์—ฐ์‚ฐ์ž: , =, ==, != a = 1 b = 3 print(a = b)# False print(a == b)# False print(a != b)# True 2. ๋ณ€์ˆ˜์˜ ๊ฐ์ฒด ์ฃผ์†Œ๋ฅผ ๋น„๊ตํ•˜๋Š” ์—ฐ์‚ฐ์ž: is, is not a = "๊ฐ€์ง€" b = "๊ฐ€์ง€" c = b print(a == b)# True print(a is b)# False print(b == c)# True print(b is c)# True ์œ„์˜ ์˜ˆ์ œ์™€ ๊ฐ™์ด a, b, c ๋ณ€์ˆ˜๊ฐ€ ๋ชจ๋‘ "๊ฐ€์ง€"๋ผ๋Š” ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ == ์—ฐ์‚ฐ์ž๋กœ ๊ฐ’์„ ๋น„๊ต.. 2022. 7. 25.
์–•์€ ๋ณต์‚ฌ vs. ๊นŠ์€ ๋ณต์‚ฌ (shallow copy vs. deep copy) ์–•์€ ๋ณต์‚ฌ (Shallow copy) ๊นŠ์€ ๋ณต์‚ฌ (Deep copy) ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ฐ™์Œ ๋‹ค๋ฆ„ ์žฅ์  โ—‹ ๊ณต๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ โ—‹ ํŒŒ์ด์ฌ์˜ ๊ธฐ๋ณธ ๋ณต์‚ฌ์ž„์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด์šฉ ์—†์Œ โ—‹ ์›๋ณธ ์œ ์ง€ ๋‹จ์  โ—‹ ๋ณต์‚ฌ๋ณธ์„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ์›๋ณธ๋„ ๊ฐ™์ด ๋ฐ”๋€œ โ—‹ ๊ณต๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ์ถ”๊ฐ€๋กœ ์ฐจ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋งŒํผ ์†๋„๋„ ๋Š๋ ค์ง€๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋„ ๋ถ€์กฑํ•ด์ง โ—‹ copy๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด์šฉํ•ด์•ผํ•จ ํŒŒ์ด์ฌ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์–•์€ ๋ณต์‚ฌ๋ฅผ ์ด์šฉํ•œ๋‹ค. var1 = [1,2,3] var2 = var1# ์–•์€ ๋ณต์‚ฌ print(id(var1), id(var2))# 140364606746528 140364606746528 ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์•„์ด๋””๊ฐ€ ์ถœ๋ ฅ๋จ ์›๋ณธ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊นŠ์€ ๋ณต์‚ฌ๋ฅผ ์ด์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด copy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์™€์•ผ ํ•œ๋‹ค. import copy va.. 2022. 7. 18.
๋”•์…”๋„ˆ๋ฆฌ (dictionary) ํ•จ์ˆ˜ ๋”•์…”๋„ˆ๋ฆฌ๋Š” ๋ฆฌ์ŠคํŠธ์™€๋Š” ๋‹ฌ๋ฆฌ ์ง์„ ์ง€์–ด ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค. ์ค‘๊ด„ํ˜ธ "{ }"๋กœ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ง์„ ์ง€์„ ๋•Œ๋Š” ์ฝœ๋ก  " : "์„ ์ด์šฉํ•œ๋‹ค. ์ƒ๋ฌผํ•™์—์„œ RNA๋ฅผ ๋‹จ๋ฐฑ์งˆ๋กœ ๋ฒˆ์—ญ๋  ๋•Œ RNA ์„œ์—ด์„ 3๊ฐœ์˜ base pair๋กœ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ codon์„ ํ˜•์„ฑํ•œ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜•์ด ๊ฝค ์œ ์šฉํ•˜๋‹ค. codons = {'AUG': 'M', 'UAA': 'Stop', 'UGA': 'Stop', 'UAG': 'Stop', 'UUU': 'F', 'CUU': 'L', \ 'AUU': 'I', 'GUU': 'V', 'UUC': 'F', 'CUC': 'L', 'AUC': 'I', 'GUC': 'V', 'UUA': 'L', 'CUA': 'L', \ 'AUA': 'I', 'GUA': 'V', 'UUG.. 2022. 7. 17.
๋ฆฌ์ŠคํŠธ (list) ํ•จ์ˆ˜ ํŒŒ์ด์ฌ์˜ ๋ฆฌ์ŠคํŠธ๋Š” ์ˆซ์ž๋“  ๋ฌธ์ž๋“  ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์„ ์ˆœ์„œ๋Œ€๋กœ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์œ ์šฉํ•œ ์ž๋ฃŒํ˜•์ด๋‹ค. ๋ฆฌ์ŠคํŠธ๋Š” ๋„ค๋ชจ ๊ด„ํ˜ธ ์•ˆ์— ํ•ญ๋ชฉ๋“ค์„ ๋„ฃ์–ด ์ƒ์„ฑํ•œ๋‹ค. ์ˆซ์ž, ๋ฌธ์ž, ๋‹ค๋ฅธ ์ž๋ฃŒํ˜• ๋“ฑ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์„ž์–ด์„œ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. # ๋ฆฌ์ŠคํŠธ๋Š” ๋„ค๋ชจ ๊ด„ํ˜ธ๋กœ ํ˜•์„ฑํ•œ๋‹ค colors = ['red', 'orange', 'yellow', 'green'] ๋ฆฌ์ŠคํŠธ์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋‚ด์ œ๋œ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค. # ๋ฆฌ์ŠคํŠธ ๋์— ์ถ”๊ฐ€ํ•˜๊ธฐ (1๊ฐœ๋งŒ ๊ฐ€๋Šฅ) colors.append('blue')# ['red', 'orange', 'yellow', 'green', 'blue'] # ๋ฆฌ์ŠคํŠธ ๋์— ์ถ”๊ฐ€ํ•˜๊ธฐ (1๊ฐœ ์ด์ƒ ๊ฐ€๋Šฅ) colors.extend(['blue', 'purple'])# ['red', 'orange', 'yellow', 'green', 'blue.. 2022. 7. 10.