Python 3

Python์˜ ๋‹จ์ 

1. Static typing์„ ํ•  ์ˆ˜ ์—†๋‹ค.def f(x:int)->int: return x+1f("asdf")๋‚˜ํ•œํ…Œ ํŒŒ์ด์ฌ์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์„ ๊ผฝ์œผ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ๋‹จ์—ฐ dynamic typing์ด๋‹ค. ์œ„ ์ฝ”๋“œ์—์„œ ํ•จ์ˆ˜ f๋Š” ์ •์ˆ˜ x๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ x+1์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์— ๋ฌธ์ž์—ด asdf๋ฅผ ๋„ฃ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ์ปดํŒŒ์ผ ์–ธ์–ด๋ผ๋ฉด ์ปดํŒŒ์ผ ์ž์ฒด๊ฐ€ ์•ˆ ๋˜๊ฒ ์ง€๋งŒ, Python์€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋‹ค. ๋”ฐ๋ผ์„œ, ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ผผ๊ผผํžˆ ์ฝ์–ด๋ณด์ง€ ์•Š๋Š” ์ด์ƒ f("asdf")๋ผ๋Š” ์–ผํ† ๋‹นํ† ์•Š์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋„ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•ด์„œ TypeError๋ฅผ ๋ฟœ๋Š” ๊ฒƒ์„ ๋ณด๊ธฐ ์ „๊นŒ์ง€๋Š” ์ฝ”๋“œ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ์— ๋ถ„๊ธฐ์ ์ด ๋งŽ์•„์ง€๋ฉด, ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๋‹ค ์‹คํ–‰..

Python 2024.10.03

์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ์ด์ค‘ for๋ฌธ

import time# 0, 1, ..., 9998, 9999list_a = range(10000)# list_a์˜ ๋ˆ„์ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” Θ(n²)def func0(list_a): ret = [] for i in range(len(list_a)): suma = 0 for a in list_a[:i+1]: suma += a ret.append(suma) return ret# list_a์˜ ๋ˆ„์ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” Θ(n)def func1(list_a): ret = [] suma = 0 for a in list_a: suma += a ret.append(suma) return..

Python 2021.06.04

while๋ฌธ์—์„œ time.sleep์˜ ํ•„์š”์„ฑ

์•„๋ž˜ ์ฝ”๋“œ๋Š” while๋ฌธ์ด 1์ดˆ ๋™์•ˆ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณต๋˜๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ์ฝ”๋“œ์ด๋‹ค.import timea = time.time()b = 0while True: b += 1 if time.time() - a > 1: breakprint(b)3956691๋ฒˆ ๋ฐ˜๋ณต๋œ๋‹ค๊ณ  ๋‚˜์˜จ๋‹ค.import timea = time.time()b = 0while True: b += 1 if time.time() - a > 1: break time.sleep(0.001)print(b)์œ„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œ์ผœ๋ณด๋ฉด 68๋ฒˆ ๋ฐ˜๋ณต๋œ๋‹ค.time.sleep(0.001)๋งŒ ๋„ฃ์—ˆ์„ ๋ฟ์ธ๋ฐ, ์–ด๋งˆ์–ด๋งˆํ•˜๊ฒŒ ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค์—ˆ๋‹ค. ์ด๋Š” CPU ์ด์šฉ๋ฅ ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค.

Python 2021.05.17